ADO.NET / LINQ / SQL
以 GridView為例,我們會見到他在資料存取上,有兩個屬性 ---- DataSource 與 DataSourceID
只會用 SqlDataSource這種精靈畫面,很快就會碰壁。
不要小看 DataSource 與 DataBind, ADO.NET都靠他們在跑。
如果您的ASP.NET可以完全脫離他,或許您能力太強了,也或許是您作的東西太小了。
跟上一篇文章類似,我們以 DropDownList為例。
繼續討論 DataSet裡面的 DataTable,這次介紹 Column.....
這篇文章,我們要討論 DataSet裡面的 DataTable。
很多初學者也學了ASP.NET一段時間,但說穿了,不就是拉拉 GridView搭配SqlDataSource or AccessDataSource這些精靈畫面而已。
想要動手改造一下,發現不容易,被困住了、不知如何下手?
想要自己設計畫面來作資料輸入、輸出,但底子不好。
不學 ADO.NET這些作法,初學者很快就碰壁了。
DbProviderFactory類別,我推薦這幾篇文章,寫得很淺。看完程式碼,就學起來了。
找了微軟MSDN,反倒沒啥範例。
在Textbox1裡面輸入一些資料,(不按下Button按鈕)
希望TextBox2會自動傳送回資料庫另一個欄位的資料。
這個範例該怎麼作?
這篇文章是我之前(2008/2/17)在微軟MSDN網站,無意中看見的,也整理起來。
原文出處:微軟MSDN http://technet.microsoft.com/zh-tw/library/703tk8bc(VS.80).aspx
分享給大家,也幫自己做一個記錄。
這些問題,我在 Yahoo知識+,大概也回答過N次。
網友們發問的機率很高,算是FAQ!
這個範例跟上一篇文章完全相同,
差別只是把 Web Service裡面的 ADO.NET (DataReader模式)的寫法,
修改成 SqlDataSource來作而已(但從頭到尾都要自己手寫程式),
SqlDataSource的DataMode設定為「DataSet」
這是Web Service的第四個範例。
我們用 Web Service來寫 ADO.NET程式,從資料庫撈點資料來玩玩。
把舊有的功能,加上「Web Service」的新方法來實作。
是不是更能瞭解 Web Service帶來什麼改變呢?
我想用其他的 Web控制項來展示資料,例如:TextBox、Label這些簡單的Web控制項,該怎麼作呢?
這種簡單型的Web控制項,就要自己動動手寫一點程式,才能完成!
這個範例,我們同時以 DataReader與 DataSet兩種方法來撰寫。
SqlDataSource會自動完成 Select / Update / Delete / Insert等等的指令與參數。
如果自己動手寫程式(Code Behind),在程式碼裡面,該如何啟動這些已經寫好的SQL指令呢?
這個範例有兩個很重要的設定畫面,如果不照著作,程式會有問題。
如果要我舉出一個特別的例子,跟大家說明 ASP.NET與ASP的差異在哪裡?
我一定會講「DataBinding」。
ASP.NET 2.0以後,因為 SqlDataSource這個精靈控制項太好用,
所以完成後,初學者還是不知道哪裡作了 DataBinding?
如果您學習ASP.NET,卻對 DataBinding的觀念毫無所悉,剛好可以趁此體會一下。
這篇文章超悶!
因為全部都用後置程式碼(Code Behind)來作,
所以GridView的「分頁」、「編輯」、「刪除」、「更新」......通通採用後置程式碼(自己動手寫)
在許多網路論壇上,會有人發問這樣的問題,因為入門書比較不會講到這些。
快點下載喔, 180天試用版(正體中文)
中文版的線上叢書也有了
自從ASP.NET 2.0開始(VS 2005),作法有些改變。我們必須加入一個資料集(DataSet),然後透過 ObjectDataSource控制項來使用它。
這一部份原本打算在書本裡提及,但書本上限600頁(我最後寫到840幾頁,實在塞不下去了),因為成為遺珠。
先把一些範例公布在我的Blog上面,作為補償。
ADO.NET有兩大重點,分別是 DataReader與DataSet(資料集)這兩種。跟舊版的ASP不同,當年的ADO都是使用 RecordSet(資料錄集)。
關於ADO.NET的DataReader與DataSet,我們簡單說明如下
這四大步驟是我自己歸納的流程,不但對於 ASP、ASP.NET有用,轉型成PHP與JSP也是道理相同。如同武功高手打通任督二脈後,學什麼武功都快。只要瞭解這四大流程,我相信大部分需要連結資料庫的程式,都難不倒大家。
跟上一個範例不同的,這次有兩個控制流程
控制流程一:我們從一個 .txt文字檔案裡面,取得數據(值)。然後以參數的方式,寫入(Insert Into)資料表。
控制流程二,把新增資料後的資料表,用Excel檔案輸出,證明剛剛的新增資料是成功的。
MS SQL Server 2005的「SSIS」 (SQL Server Integration Service)
其實就是以前SQL 2005的DTS(資料轉換服務)的接班人。
因為這次不光是升級而已,是一個大改版,所以直接升級舊有的DTS的話,會出現一些小缺失、甚至是警告。以下是一個入門範例,從資料表裡面撈出資料,經過「轉換」後,輸出成一個Excel檔。
微軟的線上文件、MSDN真是好物!
除了之前介紹過的線上學習VB.NET語法之外,這次又找到「撰寫Transact-SQL 陳述式教學課程」
不用寫程式,VS 2008拉過來、拉過去,就完成一個功能強大的網頁程式。
範例: GridView + LINQ,完成資料呈現、分頁、編輯(更新)、刪除、排序等等功能。
寫程式有這麼難嗎?~真的不會啦
資料庫的某一個欄位,裡面是「Null」值的時候,ASP.NET無法把這樣的 Null值,呈現在畫面上。
因為ASP.NET不會自動把Null值轉換成一般的字串(String),因此會出現錯誤訊息。
從保哥的介紹下手之後,感覺底子打的更扎實了。
推薦各位也要看看。
雖然我不是LINQ專家,但我認為:稍微懂T-SQL指令後,會更好上手。
為什麼這篇文章大家都要看?
因為昨天,我(以前)的網站中獎了~建議大家也居安思危,看看無妨~
找到幾篇不錯的好文章,對初學者應該很有幫助。
MS SQL Server的T-SQL指令、Stored Procedure與Trigger
原來是資料庫連線之後,除了關閉連線(Conn.Close()),還得 Conn.Dispose()才行。
不然的話就會出現 SqlClient Pool滿載的錯誤。
Full ADO.NET / LINQ / SQL Archive