C#winform中数据库绑定DataGrid

第一次写博客,记录一下

 最近在利用winform和数据库SQLServe进行数据操作,界面上需要显示数据库的一部分内容,于是使用DataGridView完成与数据库的交互,下面是构建的步骤。

1. 建立数据库

 登陆微软的数据库SQL Serve,然后建立数据库,根据数据库建立数据表,关于数据库和数据表的知识就不再啰嗦了,网上有大把的资料,这是我创建的数据库和数据表。

C#winform中数据库绑定DataGrid_第1张图片 C#winform中数据库绑定DataGrid_第2张图片

2.C#winform创建窗体程序

我用的是Visual Studio20222版本创建的,然后在工程中创建数据集选项,如下图,会在工程中生成一个.xsd 的文件,文件右边显示拖拽的工具箱。
C#winform中数据库绑定DataGrid_第3张图片

C#winform中数据库绑定DataGrid_第4张图片
 拖入右边工具箱的TableAdapter的组件,该组件后面是进行数据的数据映射,用这个很容易去进行数据库与表数据的操作.拖入后就会弹出TableAdapter配置向导,选择连接某个数据库中的数据表,也可以新建连接.我这里面要导入的就是上述LaserSystem这个数据库,然后下一步。
C#winform中数据库绑定DataGrid_第5张图片
 选择创建新存储过程的选项。
C#winform中数据库绑定DataGrid_第6张图片
 点击查询生成器,之后会弹出生成表的,里面都是数据库中的表(这里就是我上面创建数据库LaserSystem下的几张表),我这里添加择MARK_TEMPLATE这个表。
C#winform中数据库绑定DataGrid_第7张图片
 上述添加表之后,会生成该表,勾选所有列把表里面的成员都加进来,之后确定。
C#winform中数据库绑定DataGrid_第8张图片
 上述弹窗一直执行下去最终就会生成和数据库MARK_TEMPLATE一样的映射表以及MARK_TEMPLATETableAdapter,同时在工程下会自动生成一个与之相对应的类成员。
C#winform中数据库绑定DataGrid_第9张图片

C#winform中数据库绑定DataGrid_第10张图片

3.创建DataGridView以及数据绑定

C#winform中数据库绑定DataGrid_第11张图片
 打开工具箱,拖入DataGridView控件到winform窗体上,之后拖入之前数据集自动生成的几个组件DataSet1MARK_TEMPLATETableAdapterTableAdapterManager,拖入成功后窗体的下面会显示这几个组件,再继续拖入数据集的绑定源bindingSource1组件,如下图所示。
C#winform中数据库绑定DataGrid_第12张图片
 接下来要进行数据绑定,首先绑定关联dataset11bindingSource1
C#winform中数据库绑定DataGrid_第13张图片
bindingSource1DataSoure选择关联到dataSet11的成员MARK_TEMPLATE,这个刚好对应到之前数据集数据库LaserSystem下的数据表MARK_TEMPLATE

DataGridViewbindingSource1进行关联,如下图所示,这就完成了数据库中的某个表和winform中DataGridView之间的绑定关联,表头的名称是可以进行修改的。
C#winform中数据库绑定DataGrid_第14张图片
C#winform中数据库绑定DataGrid_第15张图片
 最后,拖入控件按钮Button,在DataGridView上填写数据保存到数据库。

C#winform中数据库绑定DataGrid_第16张图片
 按钮点击中执行的代码为

   private void button1_Click(object sender, EventArgs e)
        {
            ///使更改DataGridView中的内容有效
            this.bindingSource1.EndEdit();
            //把管理员中的适配器设置为当前的适配源
            this.tableAdapterManager1.MARK_TEMPLATETableAdapter = this.marK_templateTableAdapter1;

            ///更新表中的数据,相当于是对于的insert操作;
            this.tableAdapterManager1.UpdateAll(this.dataSet11);
        }

 同时还可以显示数据库中表的内容,加入窗体的Load事件

     private void LoadPage_Load(object sender, EventArgs e)
        {
            //把数据加入到表中(通过tableAdapterManager1作为中介)
            this.marK_templateTableAdapter1.Fill(this.dataSet11.MARK_TEMPLATE);
        }

 修改DataGridView可以看到数据库的内容成功加到数据库中了
C#winform中数据库绑定DataGrid_第17张图片

你可能感兴趣的:(Winform桌面,c#)