我在用visual studio2010和sql server2008做一个课程设计
我想实现编辑datagridview中的数据之后,按下更新按钮直接更新数据,下面是更新按钮的代码。
private void button6_Click(object sender, EventArgs e)
{
this.Invalidate();
this.bindingSource1.EndEdit();
this.MySqlDataAdapter.Update(MyDataSet, MyTable);
this.DisPlayNumber();
}
这样的话,如果我按下更新按钮程序就会错误,提示:
对于多个基表不支持动态 SQL 生成。
我想实现编辑datagridview中的数据之后,按下更新按钮直接更新数据,下面是更新按钮的代码。
private void button6_Click(object sender, EventArgs e)
{
this.Invalidate();
this.bindingSource1.EndEdit();
this.MySqlDataAdapter.Update(MyDataSet, MyTable);
this.DisPlayNumber();
}
这样的话,如果我按下更新按钮程序就会错误,提示:
对于多个基表不支持动态 SQL 生成。
{
DataTable dtUpdate = new DataTable();
OleDbCommandBuilder CommandBuiler;
adapter.Fill(dtUpdate);
dtUpdate.Rows.Clear();
System.Data.DataTable dtShow = new System.Data.DataTable();
DataView dv;
dv = new DataView();
dv = (DataView)dgselect.DataSource;
dtShow = (DataTable)dv.Table;
int p1 = dtShow.Rows.Count;
for (int i = 0; i < dtShow.Rows.Count; i++)
{
dtUpdate.ImportRow(dtShow.Rows[i]);
}
int num = dtUpdate.Rows.Count;
if (myConnection.State == ConnectionState.Closed)
{
myConnection.Open();
}
try
{
CommandBuiler = new OleDbCommandBuilder(adapter);
adapter.UpdateCommand = CommandBuiler.GetUpdateCommand();
adapter.Update(dtUpdate);
myConnection.Close(); }
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
return false;
} dtUpdate.AcceptChanges();
return true; }