public static bool updateData(DataSet ds, DataTable dt, string strsql)
{
bool flag = false;
SqlCommand sqlcmd = new SqlCommand(strsql, ConnectionPool.getPool().getConnection());
using (SqlDataAdapter da = new SqlDataAdapter(sqlcmd))
{
SqlCommandBuilder builder = new SqlCommandBuilder(da);
try
{
da.UpdateCommand = builder.GetUpdateCommand();
int ii = da.Update(ds, dt.TableName);
flag = true;
}
catch (SqlException ea)
{
flag = false;
throw new Exception(ea.Message);
}
}
return flag;
}
--保存按钮代码
private void toolStripButton1_Click(object sender, EventArgs e)
{
gridView2.CloseEditor();
gridView2.UpdateCurrentRow();
updateData(dsBuJian, dtBuJian, "SELECT ID,Des14 FROM TEST1 where 1=2")
updateData(dsBuJian, dtBuJian, "SELECT Matid,OtherDes1 FROM TEST2 where 1=2")
}
因不能更新多表,所以写了两个单 表更新,在执行上面语句时,只能成功执行第一个updateData。
gridView2表中显示的数据是两个关联表,SQL如下,
SQL=''select a.ID,a.Des14,b.OtherDes1,b.Matid
from TEST1 a with(nolock)
join TEST2 b with(nolock) on a.matid=b.matid"