powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Синтаксис SQL в DataAdapter.UpdateCommand для MS Access
8 сообщений из 8, страница 1 из 1
Синтаксис SQL в DataAdapter.UpdateCommand для MS Access
    #35591429
Фотография Ok@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Нужно сделать UpdateCommand для DataAdapter к MS Access 2003. OleDbCommandBuilder дает Exception "Ошибка синтаксиса в инструкции Update".

Такое вот
Код: plaintext
1.
2.
3.
sqlStr = "UPDATE Params SET Params.[value] = '33' WHERE Params.name='connectionsNum'";
OleDbCommand cmdUpdate = new OleDbCommand(sqlStr, connection);
cmdUpdate.ExecuteNonQuery();
жужжит правильно,

такое
Код: plaintext
1.
2.
3.
4.
sqlStr = "UPDATE Params SET Params.[value] = ? WHERE Params.name=?";
OleDbCommand cmdUpdate = new OleDbCommand(sqlStr, connection);
daParams.UpdateCommand = cmdUpdate;
daParams.Update(tParams);  
дает Exception "Отсутствует значение для одного или нескольких параметров"

а такое
Код: plaintext
1.
2.
3.
4.
sqlStr = "UPDATE Params SET Params.[value] = '?' WHERE Params.name='?'";
OleDbCommand cmdUpdate = new OleDbCommand(sqlStr, connection);
daParams.UpdateCommand = cmdUpdate;
daParams.Update(tParams);  
дает Exception "Currency violation: the UpdateCommand affected 0 of the expected 1 records" ( одна запись таки изменена )

Че не так, подскажите, пожалуйста?
...
Рейтинг: 0 / 0
Синтаксис SQL в DataAdapter.UpdateCommand для MS Access
    #35591499
SerP1983
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2-е правильно, но надо добавить параметры
...
Рейтинг: 0 / 0
Синтаксис SQL в DataAdapter.UpdateCommand для MS Access
    #35591541
Фотография Ok@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как это сделать? (новичок :))
...
Рейтинг: 0 / 0
Синтаксис SQL в DataAdapter.UpdateCommand для MS Access
    #35591608
Фотография Ok@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SerP19832-е правильно, но надо добавить параметры
Спасибо за подсазку!

Получилсь так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
string sqlStr = "UPDATE Params SET Params.[value] = @value WHERE Params.name=@name";
OleDbCommand cmdUpdate = new OleDbCommand(sqlStr, connection);
OleDbParameter  par = cmdUpdate.Parameters.Add("@value", OleDbType.VarChar);
par.SourceColumn = "value";
par = cmdUpdate.Parameters.Add("@name", OleDbType.VarChar);
par.SourceColumn = "name";
daParams.UpdateCommand = cmdUpdate;
daParams.Update(tParams);                

P.S.
А как сделать такое с "вопросиками"?
...
Рейтинг: 0 / 0
Синтаксис SQL в DataAdapter.UpdateCommand для MS Access
    #35591913
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно и с вопросиками
Код: plaintext
1.
2.
3.
4.
5.
 OleDbParameter p = new OleDbParameter();
            p.DbType = DbType.String;
            p.Value = "bla-bla";
            cmd.Parameters.Add(p);
            cmd.ExecuteReader();
...
Рейтинг: 0 / 0
Синтаксис SQL в DataAdapter.UpdateCommand для MS Access
    #35592952
Фотография Ok@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо! Еще один вопрос: как каждому вопросику, если таковых несколько, сопоставляется конкретный параметр? Выходит, первому встретившемуся в запросе вопросику сопоставляется первый параметр, второму- второй...?
...
Рейтинг: 0 / 0
Синтаксис SQL в DataAdapter.UpdateCommand для MS Access
    #35595353
SerP1983
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, так оно и есть. Поэтому плавно переходим к именованным параметрам. Пример Вы уже сами и предоставили выше.
...
Рейтинг: 0 / 0
Синтаксис SQL в DataAdapter.UpdateCommand для MS Access
    #35600055
Фотография Ok@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Синтаксис SQL в DataAdapter.UpdateCommand для MS Access
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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