我的asp.net筆記.(嘿嘿,試著來一下) (轉)

gugu99發表於2008-01-09
我的asp.net筆記.(嘿嘿,試著來一下) (轉)[@more@]

筆記

時間:年 1月14

主題:DataGrid再開發

一、問題提出

1教程中DataGrid控制元件與DataSet配合存在的問題

Micorsoft的QuickStart教程中使用DataGrid與DataSet配合來顯示資料。它的示例可以非常方便的使用VS嚮導來加以實現,只需寫少量的程式碼。但在上存在以下問題:

·DataGrid控制元件的每次顯示都要進行DataBind,而每次DataBind都要重新讀入中當前使用表的所有需要資料到DataSet中。這在實際使用中幾乎是不可以被接受的。

·示例中沒有充分使用VS這樣的工具,其中連線字串不可共享。事實上,我們常常要在自己的機器上進行檔案。然後把檔案到上,此時,資料庫的XXXConnection字串經常要進行相應的修改,而這樣的字串又分佈在不同的檔案的不同地方,修改讓人提心吊膽(怕有遺漏)。事實上,大多數都是使用的相同的資料庫,即相同連線。

2、DataSet的尷尬

Microsoft定下DataSet的目的到底是什麼?現在的我有點迷惑:

作為初學者,我覺得DataSet真是個好東西。當時我僅花了兩行程式碼加Vs 嚮導就用DataGrid顯示出了所有的表中的內容;這一切使得用為DataSet就這樣簡單。

然而,我很快樂不起來了。DataSet在預設下一次把所有的相關內容全裝入到中,而不是隻裝入需要顯示的內容。MS的文件說DataSet適用於需要反覆進行臨時修改的資料,但我還是很迷惑:因為,DataSet不是公用的。換句話說,每個都會有它的DataSet,這樣的DataSet一般不是一個,因為ViewState中不儲存DataSet,所以每次進行PostBack之前,它一般應當進行Cache或Session,這樣,伺服器的記憶體就有兩份DataSet。假定每個DataSet佔1M(很小的表),那麼100個使用者就讓你的伺服器吃不消。

但,DataSet的確比較方便!與方便,魚與熊掌。

二、解決思路

1、自定義讀入DataSet資料與DataGrid的相關內容。由於DataGrid不能與DataSet進行直接處理,所以翻頁操作等相關內容必須要進行重寫。

2、使用.Config進行連線字串共享。DataAdapter嚮導的好處是方便,但它不能直接使用web.config中的內容,所以,只得手動寫相應的程式碼。可惜可惜!不過,嚮導的程式碼實在是太長太多,手寫簡單一點也算好。L

3、用DataSet還是DataReader

實在是猶豫了很久。不少相關示例都用的是DataReader,但我這人懶,一切想簡單。於是,我還是選擇了DataSet,只是只裝入很必要(顯示)的內容。顯示了後就release它,所以應當不佔記憶體。

三、目標:

四、過程

1、  使用Web.config

(1)  在Web.config中加入:

 

 

(2)  在Vb程式碼中如下方式使用:

cnn = New Connection(ConfigurationSettings.AppSettings().Item("ConnectionString"))

  '上面的語句等價於cnn = New SqlConnection("data source=TMS;initial catalog=MyGuest;integrated security=SSPI;persist security info=False;workstation id=TMS;packet size=4096"

  da = New SqlDataAdapter(" employeeid,lastname,firstname,city from employees", cnn)

  da.Fill(ds, "employees")

(3)   說明:

·關於 security=sspi的解釋

整合性 -或-

Trusted_Connection

'false'

該連線是否為安全的連線。可識別的值有“true”、“false”和“sspi”,後者等效於“true”。

·關於persist security info=False的解釋:

如果“持續安全資訊”值設定為 false(預設),則返回的連線字串與使用者設定的 ConnectionString 相同但去除了安全資訊。除非將“持續安全資訊”設定為 true,否則 SQL Server 資料提供不持續或返回連線字串中的密碼。

******以上解釋有點不是很清楚

·關於WorkStation id的解釋

使用者 ID

 

登入帳戶。

工作站 ID

本地名稱

連線到 SQL Server 的工作站的名稱。

·關於ConfigurationSettings的說明:

提供對指定節中的配置設定的訪問,無法繼承。

公共屬性

中為 Shared)" style='width:24pt;height:24pt'/>

獲取 元素配置節中的配置設定。

公共方法

返回使用者定義的配置節的配置設定。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-996971/,如需轉載,請註明出處,否則將追究法律責任。

我的asp.net筆記.(嘿嘿,試著來一下) (轉)
請登入後發表評論 登入
全部評論

相關文章