我方法这样写
public string UpdateDS(DataSet DS, string sqlStr)
{
conn.Open();
ODA = new OracleDataAdapter(DStr.DecryptString(sqlStr, doStr.GetStr("select B_CODE FROM D_CODE_LIST WHERE MARK='DES_KEY'")), conn);
OracleCommandBuilder OCB = new OracleCommandBuilder(ODA);
OCB.GetInsertCommand();
OCB.GetDeleteCommand();
OCB.GetUpdateCommand();
try
{
if (DS.HasChanges())
{
ODA.Update(DS.Tables[0]);
DS.AcceptChanges();
conn.Close(); //关闭连接
return "OK";
}
else
{
conn.Close(); //关闭连接
return "没有可更新的数据";
}
}
catch (Exception ex)
{
conn.Close(); //关闭连接
return ex.Message;
}
}
然后在空白的datagridview中加一行数据,,提示没有可更新的数据。。
为什么会这样呀,。。。
是代码问题吗?
能帮改下否 。 。 。
要是我把当前行移到下一个新行,,数据就成功更新。。
要是我添加两行数据,在添加新行时,没有移开输入点,,只能更新一行数据 。。。
------解决方案--------------------------------------------------------
发到C#区