Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Помогите разобраться с ошибками обновления данных / 3 сообщений из 3, страница 1 из 1
15.05.2007, 18:35
    #34527333
Руслан05
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с ошибками обновления данных
Всем привет!

Приведу фрагмент программы:
[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;

MyTable.Update(ds, "realty"); //Отправляем изменения на сервер
[/cs]

Вопрос: так вот если selectcommand возвращает какое нибудь количество данных, то все нормально работает, данные сохраняются на сервер, а в случае если selectcommand не вернул первоначально данных (в соответствии с запросом), то при сохранении возникает ошибка:
concurrency violation: the update command affected 0 ...

Помогите разобраться, что я не учел.

Спасибо за внимание
...
Рейтинг: 0 / 0
16.05.2007, 11:33
    #34528547
FroZenBird
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с ошибками обновления данных
После этого блока

Код: plaintext
1.
2.
3.
4.
5.
 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 ;
у тебя свойство RowState строки равно Detached, то бишь еще не добавлена в таблицу и Update её не видит.

а вообще, я делаю так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
   DataRow newAddress = dm.Tables["ADDRESMAIN"].NewRow();
            newAddress["ID"] = addr.Address_id;
            newAddress["COD"] = addr.Town_f_id;
            newAddress["NAME"] = addr.Address_name;
            newAddress["CHECKED"] =  0 ;
            newAddress["DESCRIPTION"] = addr.Addit_info;
            dm.Tables["ADDRESMAIN"].Rows.Add(newAddress);//добавление в таблицу записи

addressmainAD.Update(dm.Tables["ADDRESMAIN"]);//addressmainAD - адаптер, dm - датасет
...
Рейтинг: 0 / 0
16.05.2007, 15:17
    #34529573
Руслан05
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с ошибками обновления данных
Спасибо за внимание, все получилось.
а я делаю так потому что еще дополнительно из связанных контролов в таблицу заношу информацию.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Помогите разобраться с ошибками обновления данных / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]