在保存datagridview数据里用到了OleDbCommandBuilder 对象,但是发现了问题,如果是插入一行新数据的话能保存成功,
但如果是修改某条数据然后再保存的话就报错了,说是 对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成,这是为什么
System.Data.DataTable dt = (System.Data.DataTable)dgv_Data.DataSource; string sql = "select MR_Name as 货料名称,MR_Model as 规格型号,MR_Unit as 单位,MR_Price as 单价 from MIS_MaterielRegiser";
oda = new OleDbDataAdapter(sql, ocnn);
ocb = new OleDbCommandBuilder(oda);//CommandBuilder对象能自动生成insert语句
ocb.QuotePrefix = "[";
ocb.QuoteSuffix = "]";
oda.Update(dt);
但如果是修改某条数据然后再保存的话就报错了,说是 对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成,这是为什么
System.Data.DataTable dt = (System.Data.DataTable)dgv_Data.DataSource; string sql = "select MR_Name as 货料名称,MR_Model as 规格型号,MR_Unit as 单位,MR_Price as 单价 from MIS_MaterielRegiser";
oda = new OleDbDataAdapter(sql, ocnn);
ocb = new OleDbCommandBuilder(oda);//CommandBuilder对象能自动生成insert语句
ocb.QuotePrefix = "[";
ocb.QuoteSuffix = "]";
oda.Update(dt);
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货