如何使用Datagridview绑定源C#更新SQLServer数据库数据库。问题是,我无法让它工作。我唯一设法实现的是更新datagridview显示的内容,但是当我转到数据库表时,数据没有改变。我搜索了许多讨论这个问题的网站,但对我没有任何帮助。到目前为止我尝试过的事情:这是我的代码:publicForm1(){InitializeComponent();GetData("SELECT*FROMTable1");}voidGetData(stringselectCommand){SqlConnectionconn=newSqlConnection(Properties.Settings.Default.NewDBTESTConnectionString);dataAdapter=newSqlDataAdapter(selectCommand,conn);commandBuilder=newSqlCommandBuilder(dataAdapter);表=新数据表();dataAdapter.Fill(表格);bindingSource1.DataSource=表;;}privatevoiddataGridView1_CellEndEdit(objectsender,DataGridViewCellEventArgse){dataAdapter.Update((DataTable)b??indingSource1.DataSource);}如果不调用bindingSource1.EndEdit,您的底层DataTable看不到任何更改,因此Update命令不需要更新。privatevoiddataGridView1_CellEndEdit(objectsender,DataGridViewCellEventArgse){bindingSource1.EndEdit();DataTabledt=(DataTable)b??indingSource1.DataSource;//仅用于测试....尝试使用或不使用EndEdit...。DataTablechangedTable=dt.GetChanges();Console.WriteLine(changedTable.Rows.Count);introwsUpdated=da.Update(dt);Console.WriteLine(rowsUpdated);您可以使用保存或更新按钮来执行如下代码:bindingSource1.EndEdit();DataTabledt=(DataTable)b??indingSource1.DataSource;dataAdaper.Update(dt);您将保存您所做的所有更改,但是如果您先对datagridview列进行排序,然后更改数据,然后运行上面的保存代码,您将错过一条记录,即排序前的第一条记录。要修复它,您必须对其进行排序,然后保存它们。如果您知道要排序的列,则需要在将数据加载到datagridview时对数据进行排序,这是最好的方法。以上是贾庄的C#学习教程:如何使用Datagridview绑定源码C#更新SQLServer数据库。如果对你有用,需要了解更多C#学习教程,希望大家多加关注——本文来自网络合集,不代表立场,如涉及侵权,请点击有权联系管理员删除。如需转载请注明出处:
