Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Еще раз про нарушение параллелизма и SqlDataAdapter.Update(dataSet) / 8 сообщений из 8, страница 1 из 1
16.03.2014, 18:45
    #38587599
mdm114
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз про нарушение параллелизма и SqlDataAdapter.Update(dataSet)
есть dataset, которая заполняется sqldataAdapter -ом. Внутри адаптера код

SELECT id, family, name, number,.....FROM traktor WHERE(number='Huynday220') AND (YEAR(dat)='2014') AND (MONTH(dat)='2')

Код: c#
1.
2.
3.
4.
5.
private void Form1_Load(object sender, EventArgs e)
        {

            sqlDataAdapter1.Fill(dataSet11);
        }



Все работает ок. Вношу вручную изменения в dataGridView. потом делаю sqlDataAdapter1.Update(dataSet11); Все ок!

Теперь все тоже самое, но следующим образом

Код: c#
1.
2.
3.
4.
5.
6.
string sel1 = "SELECT id, family, name, number, ..... FROM traktor WHERE(number='{0}') AND (YEAR(dat)='{1}') AND (MONTH(dat)='{2}')  ORDER BY dat " ;


sqlDataAdapter1.SelectCommand.CommandText = String.Format(sel1, "Huynday220", 2014, 2);
   
            sqlDataAdapter1.Fill(dataSet11);


Все заполняется, НО! при попытке внести измения и сохранить(sqlDataAdapter1.Update(dataSet11)) выскакивает ошибка "Нарушение параллелизма. Update command затронула 0 из ожидаемых 1 записей.

Собственно вопрос, с чем это связано? Появилось это после перехода на Visual Studio 2012. В 2008 вроде все работало норм
...
Рейтинг: 0 / 0
16.03.2014, 22:12
    #38587654
Lelouch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз про нарушение параллелизма и SqlDataAdapter.Update(dataSet)
mdm114,

текст update запроса напишите руками...
...
Рейтинг: 0 / 0
17.03.2014, 09:42
    #38587817
mdm114
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз про нарушение параллелизма и SqlDataAdapter.Update(dataSet)
поможет? Честно говоря, не разу не приходилось, всегда пользовался встроенным. Ща буду смотреть как это делается..
...
Рейтинг: 0 / 0
17.03.2014, 20:09
    #38588720
mdm114
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз про нарушение параллелизма и SqlDataAdapter.Update(dataSet)
А как поймать строку или строки, в которые необходимо вносить изменения?

Код: c#
1.
2.
3.
string str22 = "UPDATE traktor SET proch = @proch";
          sqlDataAdapter1.UpdateCommand.CommandText = String.Format(str22);        
sqlDataAdapter1.Update(dataSet11);



А то при таком подходе, вставляет одну и ту же запись во все строки. Я заранее извиняюсь за ламерский вопрос. Просто во всех книжках, которые я просмотрел, все внимание уделяется исключительно команде SELECT. Может кто кусок кода даст?
...
Рейтинг: 0 / 0
19.03.2014, 11:38
    #38590342
igr_ok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз про нарушение параллелизма и SqlDataAdapter.Update(dataSet)
mdm114А как поймать строку или строки, в которые необходимо вносить изменения?

Код: c#
1.
2.
3.
string str22 = "UPDATE traktor SET proch = @proch";
          sqlDataAdapter1.UpdateCommand.CommandText = String.Format(str22);        
sqlDataAdapter1.Update(dataSet11);



А то при таком подходе, вставляет одну и ту же запись во все строки. Я заранее извиняюсь за ламерский вопрос. Просто во всех книжках, которые я просмотрел, все внимание уделяется исключительно команде SELECT. Может кто кусок кода даст?
При запуске дизайнера напишите в команде SELECT "select * from traktor" и посмотрите,какие у вас сформируются команды для insert,update,delete. Это то, что вам надо. Их можно просто оставить, а SELECT изменить
...
Рейтинг: 0 / 0
19.03.2014, 15:51
    #38590816
mdm114
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз про нарушение параллелизма и SqlDataAdapter.Update(dataSet)
igr_ok,

не совсем понял. Т.е проблема не в Update, а в неправильной команде Select ?
...
Рейтинг: 0 / 0
19.03.2014, 20:25
    #38591196
igr_ok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз про нарушение параллелизма и SqlDataAdapter.Update(dataSet)
mdm114igr_ok,

не совсем понял. Т.е проблема не в Update, а в неправильной команде Select ?Проблема в Update. Но формируется он на основании вашего Select. Если у вас в таблице нет первичного ключа или в запросе больше одной таблицы, Update вообще не сгенерируется. Тогда его нужно писать вручную. В вашем случае он будет выглядеть как-то так
UPDATE traktor SET proch = @proch where id=@id
А если код будет создан дизайнером, да еще с использованием оптимистической блокировки, то будет много букв :) Но при этом всё будет работать и вам нужно будет только вызывать sqlDataAdapter1.Update
...
Рейтинг: 0 / 0
19.03.2014, 20:37
    #38591211
mdm114
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз про нарушение параллелизма и SqlDataAdapter.Update(dataSet)
спасибо, буду пытаться разбираться...
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Еще раз про нарушение параллелизма и SqlDataAdapter.Update(dataSet) / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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