C#winform中數(shù)據(jù)庫綁定DataGrid的實現(xiàn)
第一次寫博客,記錄一下
最近在利用winform和數(shù)據(jù)庫SQLServe進行數(shù)據(jù)操作,界面上需要顯示數(shù)據(jù)庫的一部分內(nèi)容,于是使用DataGridView完成與數(shù)據(jù)庫的交互,下面是構(gòu)建的步驟。
1. 建立數(shù)據(jù)庫
登陸微軟的數(shù)據(jù)庫SQL Serve,然后建立數(shù)據(jù)庫,根據(jù)數(shù)據(jù)庫建立數(shù)據(jù)表,關(guān)于數(shù)據(jù)庫和數(shù)據(jù)表的知識就不再啰嗦了,網(wǎng)上有大把的資料,這是我創(chuàng)建的數(shù)據(jù)庫和數(shù)據(jù)表。
2.C#winform創(chuàng)建窗體程序
我用的是Visual Studio20222版本創(chuàng)建的,然后在工程中創(chuàng)建數(shù)據(jù)集選項,如下圖,會在工程中生成一個.xsd 的文件,文件右邊顯示拖拽的工具箱。
拖入右邊工具箱的TableAdapter的組件,該組件后面是進行數(shù)據(jù)的數(shù)據(jù)映射,用這個很容易去進行數(shù)據(jù)庫與表數(shù)據(jù)的操作.拖入后就會彈出TableAdapter配置向?qū)?選擇連接某個數(shù)據(jù)庫中的數(shù)據(jù)表,也可以新建連接.我這里面要導(dǎo)入的就是上述LaserSystem這個數(shù)據(jù)庫,然后下一步。
選擇創(chuàng)建新存儲過程的選項。
點擊查詢生成器,之后會彈出生成表的,里面都是數(shù)據(jù)庫中的表(這里就是我上面創(chuàng)建數(shù)據(jù)庫LaserSystem下的幾張表),我這里添加擇MARK_TEMPLATE這個表。
上述添加表之后,會生成該表,勾選所有列把表里面的成員都加進來,之后確定。
上述彈窗一直執(zhí)行下去最終就會生成和數(shù)據(jù)庫MARK_TEMPLATE一樣的映射表以及MARK_TEMPLATETableAdapter,同時在工程下會自動生成一個與之相對應(yīng)的類成員。
3.創(chuàng)建DataGridView以及數(shù)據(jù)綁定
打開工具箱,拖入DataGridView控件到winform窗體上,之后拖入之前數(shù)據(jù)集自動生成的幾個組件DataSet1、MARK_TEMPLATETableAdapter和TableAdapterManager,拖入成功后窗體的下面會顯示這幾個組件,再繼續(xù)拖入數(shù)據(jù)集的綁定源bindingSource1組件,如下圖所示。
接下來要進行數(shù)據(jù)綁定,首先綁定關(guān)聯(lián)dataset11和bindingSource1。
bindingSource1的DataSoure選擇關(guān)聯(lián)到dataSet11的成員MARK_TEMPLATE,這個剛好對應(yīng)到之前數(shù)據(jù)集數(shù)據(jù)庫LaserSystem下的數(shù)據(jù)表MARK_TEMPLATE。
DataGridView和bindingSource1進行關(guān)聯(lián),如下圖所示,這就完成了數(shù)據(jù)庫中的某個表和winform中DataGridView之間的綁定關(guān)聯(lián),表頭的名稱是可以進行修改的。
最后,拖入控件按鈕Button,在DataGridView上填寫數(shù)據(jù)保存到數(shù)據(jù)庫。
按鈕點擊中執(zhí)行的代碼為
private void button1_Click(object sender, EventArgs e) { ///使更改DataGridView中的內(nèi)容有效 this.bindingSource1.EndEdit(); //把管理員中的適配器設(shè)置為當(dāng)前的適配源 this.tableAdapterManager1.MARK_TEMPLATETableAdapter = this.marK_templateTableAdapter1; ///更新表中的數(shù)據(jù),相當(dāng)于是對于的insert操作; this.tableAdapterManager1.UpdateAll(this.dataSet11); }
同時還可以顯示數(shù)據(jù)庫中表的內(nèi)容,加入窗體的Load事件
private void LoadPage_Load(object sender, EventArgs e) { //把數(shù)據(jù)加入到表中(通過tableAdapterManager1作為中介) this.marK_templateTableAdapter1.Fill(this.dataSet11.MARK_TEMPLATE); }
修改DataGridView可以看到數(shù)據(jù)庫的內(nèi)容成功加到數(shù)據(jù)庫中了
到此這篇關(guān)于C#winform中數(shù)據(jù)庫綁定DataGrid的實現(xiàn)的文章就介紹到這了,更多相關(guān)C# 數(shù)據(jù)庫綁定DataGrid內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Nopcommerce為商城添加滿XX減XX優(yōu)惠券功能
中秋國慶節(jié)眼看到跟前了,很多商城都借此機會搞促銷活動,什么滿200減80送優(yōu)惠券等活動,基于后臺程序是怎么實現(xiàn)的呢?下面腳本之家小編帶領(lǐng)大家一起學(xué)習(xí)吧2015-09-09Unity調(diào)取移動端的麥克風(fēng)進行錄音并播放
這篇文章主要為大家詳細(xì)介紹了Unity調(diào)取移動端的麥克風(fēng)進行錄音并播放,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-06-06C#類型轉(zhuǎn)換之自定義隱式轉(zhuǎn)換和顯式轉(zhuǎn)換
本文主要為大家介紹了一個新的類型轉(zhuǎn)換方法:通過自定義隱式轉(zhuǎn)換,把不一樣的數(shù)據(jù)類型反序列化為一樣的數(shù)據(jù)類型,需要的同學(xué)可以參考一下2022-03-03