
GridView的自動分頁功能是最近寫網頁常用到的功能,但是發現如果配合查詢功能對DataSource下不同的Query,分頁的下一頁因為經過了postback,會使得原來頁面的Sql Command不見了,有圖有真相


花了一點時間找出問題~~因為網頁是無狀態的環境,所以要利用ASP.NET的ViewState去記住查詢後更改的Query,怎麼做呢,就是重載SaveViewState和LoadViewState這兩個函式
protected override object SaveViewState()
{
object baseState = base.SaveViewState();
object[] myState = new object[2];
myState[0] = baseState;
myState[1] = AccessDataSource1.SelectCommand;
return myState;
}
protected override void LoadViewState(object savedState)
{
if (savedState != null)
{
// Load State from the array of objects that was saved at ;
// SavedViewState.
object[] myState = (object[])savedState;
if (myState[0] != null)
base.LoadViewState(myState[0]);
if (myState[1] != null)
AccessDataSource1.SelectCommand = (string)myState[1];
}
}
成果如下圖~

done!
Control..::.SaveViewState 方法 Control..::.LoadViewState 方法以我為中心的宇宙 發表在 痞客邦 留言(0) 人氣(125)

今天沒有用ODBC去連access,而是直接連Access檔案做為DataSource,結果就出現了這個錯誤訊息~

改用了ODBC也是沒用...

回頭去看mdb所在的目錄,的確也看到它被鎖定了,但奇怪的是Access檔案我並沒有打開~

試了加入iusr和everyone的權限也是沒用。
後來看到這篇文章ACC2002:常見的資料頁配置錯誤,用了最簡單的方式,就把VS2005關掉再打開就ok了~猜想可能剛在連結DataSource的時候被鎖定了吧
真是冏...花了我快一小時解決它= =
2008.12.17更新:
今天仔細一看,原來在
方案總管或
伺服器總管就可以斷開和資料庫的連結了~

以我為中心的宇宙 發表在 痞客邦 留言(0) 人氣(1,447)
今天一直沒辦法完成簡單的增刪修,除了相對應的Command沒下之外,最大的困擾是不知道如何下Where...
結果,一直忘了一個重點,只是簡單的select來秀資料所以沒發覺,如果要做到增刪修必須要幫資料表加上主索引Primary key,結果一直卡在這個地方走不到下一步去...冏
也是因為這樣,在智慧標籤設定sqldatesource時,也就沒辦法讓datasource去自動產生insert、update、delete的command
以我為中心的宇宙 發表在 痞客邦 留言(0) 人氣(155)
这种提示多半是输入的数据个数与字段数不相等,或数据类型不匹配...
以我為中心的宇宙 發表在 痞客邦 留言(0) 人氣(101)
以我為中心的宇宙 發表在 痞客邦 留言(0) 人氣(241)
以我為中心的宇宙 發表在 痞客邦 留言(0) 人氣(1)

想把A電腦SQL Server 某一資料庫複製到B電腦
step1. 先卸離A電腦要被複製的資料庫 (進SSMSE,在要被複製的資料庫名稱 按右鍵 Tasks ─〉Detach)
step2. 再到安裝目錄(例 X:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data"),去複製
資料庫(*.mdf)及相對應的
log檔(*.ldf)到B電腦
step3. 然後兩台電腦同時做附加資料庫的動作 (進SSMSE,在Databases ─〉Attach)
Done!
以我為中心的宇宙 發表在 痞客邦 留言(0) 人氣(1,111)
又學到一招,Access裡如果要把資料型態為自動編號的欄位重新編號,要利用"資料庫修復"工具,但在MSSQL 2005該怎麼做呢,就要利用DBCC CHECKIDENT這個Transact-SQL語法了,詳見MSSQL 2005 線上叢書。
以我為中心的宇宙 發表在 痞客邦 留言(0) 人氣(26)