0
我遇到了一个问题,我尝试使用字符串数组中的值更新数据表的列,然后将这些更新提交到数据库。我调试了这个,认为有错误,但没有抛出异常。使用字符串数组更新数据表作为值
我还设置了我的adapater的select语句和连接,以便我可以修改最初触发事件时重新调用的数据。
这是我的代码(_updateParams字符串数组包含我尝试更新表和数据库的值)。
DataSet ds = new DataSet("SearchedRecord");
using (OracleConnection oc = new OracleConnection(DBConnection))
{
try
{
oc.Open();
OracleDataAdapter adap = new OracleDataAdapter(@"SELECT * FROM NEW_DATABASE", oc);
adap.FillSchema(ds, SchemaType.Source, "NEW_DATABASE");
adap.Fill(ds, "NEW_DATABASE");
OracleCommandBuilder bld = new OracleCommandBuilder(adap);
DataTable dt = ds.Tables["NEW_DATABASE"];
dt.PrimaryKey = new DataColumn[] { dt.Columns["ID"] };
int key = int.Parse(dt.Rows[0]["ID"].ToString());
DataRow dr;
dr = dt.Rows.Find(key);
dr.BeginEdit();
for (int i = 0; i < _updateParams.Length; i++)
{
dr[0] = i.ToString();
}
dr.EndEdit();
dr.AcceptChanges();
dt.AcceptChanges();
adap.Update(ds, "NEW_DATABASE");
adap.UpdateCommand = bld.GetUpdateCommand();
adap.UpdateCommand.ExecuteNonQuery();
adap.UpdateCommand.Transaction.Commit();
}catch (Exception x)
{
x.Message.ToString();
}
}
尝试将您的代码包装在Try {} catch {}中,并将一些代码写入catch部分中的错误。 – MethodMan 2012-08-13 22:04:31
它已经在try catch块中 – technooblet 2012-08-14 01:41:39
根据您的代码无法判断您可能想要显示适用于您发布的代码的所有代码,否则其他人会认为/推荐相同的东西。您得到了什么异常? – MethodMan 2012-08-14 01:45:15