Помогите разобраться с сохранением данных и формированием комманд DataAdapter'а
Приведу фрагмент программы:
[cs]
string cmd = "SELECT * FROM realty " +
"where (TYPE ="+selitemtype.ID.ToString()+") and "+
" (OPERATION ="+selitemoperation.ID.ToString()+") and "+
" (Sections ="+selitemsection.ID.ToString()+")";
MyTable = new MySqlDataAdapter(cmd, myConnection);
MyCB = new MySqlCommandBuilder(MyTable);
MyCB.ConflictOption = ConflictOption.OverwriteChanges;
MyTable.Fill(ds, "realty");
ds.AcceptChanges();
cm = (CurrencyManager)this.BindingContext[ds, "realty"];
cm.AddNew();
((DataRowView)cm.Current).Row["UID"] = RealtyUID;
((DataRowView)cm.Current).Row["Type"] = TypeID;
((DataRowView)cm.Current).Row["Operation"] = OperationID;
((DataRowView)cm.Current).Row["Sections"] = 1;
cm.EndCurrentEdit();
MyTable.Update(ds, "realty"); //Отправляем изменения на сервер
[/cs]
Вопрос: так вот если selectcommand возвращает какое нибудь количество данных, то все нормально работает, данные сохраняются на сервер, а в случае если selectcommand не вернул первоначально данных (в соответствии с запросом), то при сохранении возникает ошибка:
concurrency violation: the update command affected 0 ...
Помогите разобраться, что я не учел.
Спасибо за внимание