最近在利用winform和数据库SQLServe进行数据操作,界面上需要显示数据库的一部分内容,于是使用DataGridView完成与数据库的交互,下面是构建的步骤。
登陆微软的数据库SQL Serve,然后建立数据库,根据数据库建立数据表,关于数据库和数据表的知识就不再啰嗦了,网上有大把的资料,这是我创建的数据库和数据表。
我用的是Visual Studio20222版本创建的,然后在工程中创建数据集选项,如下图,会在工程中生成一个.xsd 的文件,文件右边显示拖拽的工具箱。
拖入右边工具箱的TableAdapter的组件,该组件后面是进行数据的数据映射,用这个很容易去进行数据库与表数据的操作.拖入后就会弹出TableAdapter配置向导,选择连接某个数据库中的数据表,也可以新建连接.我这里面要导入的就是上述LaserSystem这个数据库,然后下一步。
选择创建新存储过程的选项。
点击查询生成器,之后会弹出生成表的,里面都是数据库中的表(这里就是我上面创建数据库LaserSystem下的几张表),我这里添加择MARK_TEMPLATE这个表。
上述添加表之后,会生成该表,勾选所有列把表里面的成员都加进来,之后确定。
上述弹窗一直执行下去最终就会生成和数据库MARK_TEMPLATE一样的映射表以及MARK_TEMPLATETableAdapter,同时在工程下会自动生成一个与之相对应的类成员。
打开工具箱,拖入DataGridView控件到winform窗体上,之后拖入之前数据集自动生成的几个组件DataSet1、MARK_TEMPLATETableAdapter和TableAdapterManager,拖入成功后窗体的下面会显示这几个组件,再继续拖入数据集的绑定源bindingSource1组件,如下图所示。
接下来要进行数据绑定,首先绑定关联dataset11和bindingSource1。
bindingSource1的DataSoure选择关联到dataSet11的成员MARK_TEMPLATE,这个刚好对应到之前数据集数据库LaserSystem下的数据表MARK_TEMPLATE。
DataGridView和bindingSource1进行关联,如下图所示,这就完成了数据库中的某个表和winform中DataGridView之间的绑定关联,表头的名称是可以进行修改的。
最后,拖入控件按钮Button,在DataGridView上填写数据保存到数据库。
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);
}