问题描述
如题。这是按钮代码privatevoidbutton2_Click(objectsender,EventArgse){if(MessageBox.Show("是否保存数据?","系统消息",MessageBoxButtons.OKCancel,MessageBoxIcon.Question,MessageBoxDefaultButton.Button2)==DialogResult.OK){dataGridView1.EndEdit();//重新用表格数据填充数据容器OleDbDataAdapterAda=newOleDbDataAdapter();DataTabletable=(DataTable)dataGridView1.DataSource;DataTabledt=newDataTable();for(intcount=0;count<dataGridView1.Columns.Count;count++){DataColumndc=newDataColumn(dataGridView1.Columns[count].Name.ToString());dt.Columns.Add(dc);}for(intcount=0;count<dataGridView1.Rows.Count;count++){DataRowdr=dt.NewRow();for(intcountsub=0;countsub<dataGridView1.Columns.Count;countsub++){dr[countsub]=Convert.ToString(dataGridView1.Rows[count].Cells[countsub].Value);}dt.Rows.Add(dr);}//重新启动连接StringConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;DataSource="+System.Windows.Forms.Application.StartupPath+"/Database11.accdb";//用Buider方法更新数据using(OleDbConnectionconnection=newOleDbConnection(ConnectionString)){Ada.SelectCommand=newOleDbCommand("SELECT*FROM栏舍",connection);OleDbCommandBuilderbuilder=newOleDbCommandBuilder(Ada);Ada.UpdateCommand=builder.GetUpdateCommand();try{//更新数据表数据时Ada.Update(dt);dt.AcceptChanges();MessageBox.Show("操作已成功!数据将全部被保存......","系统消息",MessageBoxButtons.OK,MessageBoxIcon.Information,MessageBoxDefaultButton.Button2);}catch(System.Data.OleDb.OleDbExceptionex){thrownewException(ex.Message);}}}}
运行后出现请教各位大神该如何解决!
解决方案
解决方案二:
小弟最近刚刚接触这些东西不是很懂还请大神们多多指导啊
解决方案三:
求帮助啊!!
解决方案四:
首先你得保证代码都是正确的,不要胡乱东抄一点,西抄一点的拼凑其次,dt里必须有全部的列,尤其是必须要有主键,而且dt里的列名必须和数据库里的一致,不能重命名