Ошибка при обновлении записи в Oracle

ВСергей
Дата: 24.05.2006 14:59:46
Имеем БД Oracle 10.1.2.0 и процедуру обновления записи в некоторой таблице:

...

OracleDataAdapter da = new OracleDataAdapter();
da.SelectCommand = new OracleCommand("select ID_Obj, Fam from Users", cn);
OracleParameterCollection sqlParams = null;

//comm insert
OracleCommand cmdI = new OracleCommand("insert into Users(ID_Obj, Fam) values(:ID_Obj, :Fam)", cn);
sqlParams = cmdI.Parameters;
sqlParams.Add("ID_Obj", OracleDbType.Decimal, 20, "ID_Obj");
sqlParams.Add("Fam", OracleDbType.Varchar2, 30, "Fam");
da.InsertCommand = cmdI;

//comm update
OracleCommand cmdU = new OracleCommand("update USERS set Fam = :Fam where ID_Obj = :ID_Obj", cn);
sqlParams = cmdU.Parameters;
sqlParams.Add("ID_Obj", OracleDbType.Decimal, 20);
sqlParams.Add("Fam", OracleDbType.Varchar2, 30);
da.UpdateCommand = cmdU;

//comm delete
OracleCommand cmdD = new OracleCommand("delete from users where ID_Obj= :ID_Obj", cn);
cmdD.Parameters.Add("ID_Obj", OracleDbType.Decimal, 20, "ID_Obj");da.DeleteCommand = cmdD;

DataTable ta2 = new DataTable("Users");
ds.Tables.Add(ta2);
da.Fill(ta2);

// - insert
/*DataRow newRow = ds.Tables["Users"].NewRow();
newRow["ID_Obj"] = 3;
newRow["Fam"] = "Пример добавления ";
ds.Tables["Users"].Rows.Add(newRow);*/

// - update1
DataRow r;
for (int k = 0; i<ta2.Rows.Count; k++)
{
r = ds.Tables["Users"].Rows[k];
if (r["ID_Obj"].ToString() == "1" )
{
r["Fam"] = "Пример обнавления";
}
}

da.Update(ds,"Users");
cn.Close();



Почему добавление или удаление - проходят нормально, а при обновлении - выпадает в ошибку:Unhandled Exception: System.Data.DBConcurrencyException: Concurrency violation: the UpdateCommand afected 0 records. и т.д. и т.п.?
Relic Hunter
Дата: 24.05.2006 18:12:51
ВСергей
Почему добавление или удаление - проходят нормально, а при обновлении - выпадает в ошибку:Unhandled Exception: System.Data.DBConcurrencyException: Concurrency violation: the UpdateCommand afected 0 records. и т.д. и т.п.?
Потому что :ID_Obj незаслуженно пропущен.
ВСергей
Дата: 25.05.2006 14:36:12
Где пропущен?!
b099ard
Дата: 06.07.2012 13:01:25
Добрый день.

У меня такая же проблема, вам удалось разрешить эту проблему?