文字列配列の値でデータテーブルの列を更新してから、それらの更新をデータベースに送信しようとすると問題が発生します。エラーがあると思ってデバッグしましたが、例外はスローされません。
また、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();
}
}