.net教學筆記整理 [資料工具篇]

如何在Winform修改資料庫資料
以下幾個例子說明怎樣利用winform修改資料庫.


[例子1] 在不直接點選DataGridView修改的前題下修改資料庫中關於中文及葡萄牙文的資料 (利用VS Designer篇)
這個例子整個過程不需要任何的Coding, 不過對於理解DataGridview跟資料庫的關係很有幫助。^_^
  1. 先把介面劃出來
  2. 為DataGridView加入資料來源


  3. 為介面下面兩個Textbox進行DataBindings
    • 按一下 "中文名稱" 的TextBox, 在"屬性"列中展開"(DataBindings)", 在"Text"欄位中按下功能表, 選擇關於中文名稱的資料庫欄位, 注意Binding Source要跟DataGridView所用的一樣。



  4. 把葡萄牙文的那個TextBox用同樣方法弄好。
  5. 接下來為DataGridView的TableAdapter做Sql Statement的設置。基本上 TableAdapter = DataTable + DataAdapter. 令開發者進一步省點保貴時間。在這裡再提一下,Adapter主要負責Sql Statement的執行,在這個例子查詢&更新兩組SQL是必須的。
    1. 按一下位於畫面下面的TableAdapter, 選擇"在DataSet設計工具中編輯查詢"
    2. 按一下Adapter的標題, 在工具列中出現屬性頁


    3. 在屬性頁中, 展開UpdateCommand,在CommandText中輸入Update SQL Statement. 並在Paremeters中設定參數。


  6. 返回Designer頁面,為"更新"按鈕寫點程式碼。
    • 上面程式碼意思是說用DataGridView現在的DataSet透過Adapter對Database進行更新。
  7. 完成。
[例子2] 在不直接點選DataGridView修改的前題下修改資料庫中關於中文及葡萄牙文的資料 (Coding篇)
看完上面的例子可以知道VS已經可以令開發一支程式不需要寫任何的程式碼 (我們飯碗不保了囧),不過面對一些比較複雜的情況(例如Update多個Table的時候),還是要用程式碼解決, 以下就是動手寫的簡單例子:
  1. 還是老方法,介面要先拉一下,上面有講過就不多說了。

  2. 接下來我們要寫一個擷取數據的方法,重新提一下,要DataGridView拿得到數據一定要有BindingSource元件, BindingSource元件的數據由DataAdapter提供, DataAdapter要用Sqlconnection連接資料庫, DataAdapter裡面包含DataTable(或DataSet), 所以接下來我們要建立:
    • Sqlconnection
    • SqlDataAdapter
    • SqlCommandBuilder (選擇性)
    • DataTable
    • BindingSource
  3. 程式碼如下,Select command 故意讀取來自兩個table的資料。


  4. Run來看看, 應該發現DataGridView可以顯示出數據了.
  5. 接下來是把數據Bind到介面下面的兩個TextBox, 分別是 textBoxName及textBoxRole. 

    • 在Form_Load中加入textBoxName跟textBoxRole以下兩句就可以了。

      上面兩句的意思是說把bs_DGV這個binding source中的USR_SHORT及DISPLAY_SHORT兩個欄位的資料用TEXT的型式分別放到兩個textBox上面去。
  6. 好啦重點來了,下面是說明怎樣把textBox中的資料回傳到資料庫去。跟上一個例子不同的是這次要更新的資料分別放在兩個不同的資料表(Table)裡.
    明天繼續......

參考資料
2. http://www.dotblogs.com.tw/yc421206/archive/2009/07/25/9675.aspx [ADO.NET] 如何 使用 TableAdapter 物件(一)


持續更新中.....

Popular posts from this blog

[SQL SERVER] 找出LOCK方法懶人包

[SQL Server] 解決log檔(ldf file)過度膨脹的實戰經驗

[Windows7] 跨距磁碟區, 等量磁碟區, 鏡像磁碟區之區別