/// <summary>
/// 修改数据库配置表状态
/// </summary>
/// <returns></returns>
public bool MultiUpdateData(DataTable data, string Columns, string tableName)
{
string strconn = ConfigurationManager.ConnectionStrings["DateDB"].ToString();
using (OracleConnection connection = new OracleConnection(strconn))
{
string SQLString = string.Format("select {0} from {1} t ", Columns, tableName);
using (OracleCommand cmd = new OracleCommand(SQLString, connection))
{
try
{
connection.Open();
OracleDataAdapter myDataAdapter = new OracleDataAdapter();
myDataAdapter.SelectCommand = new OracleCommand(SQLString, connection);
OracleCommandBuilder custCB = new OracleCommandBuilder(myDataAdapter);
custCB.ConflictOption = ConflictOption.OverwriteChanges;
custCB.SetAllValues = true;
foreach (DataRow dr in data.Rows)
{
if (dr.RowState == DataRowState.Unchanged)
dr.SetModified();
}
myDataAdapter.Update(data);
data.AcceptChanges();
myDataAdapter.Dispose();
return true;
}
catch (Exception ex)
{
connection.Close();
return false;
}
}
}
}
报错“动态 SQL 生成失败。找不到关键信息”!
解决问题的提示:
这个错误是因为没有主键。