Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.134.77.195] |
|
Данный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ. |
Сообщ.
#1
,
|
|
|
Мне нужно добавить новую запись в БД.
На форме расположены компоненты Adodc1 и DataGrid1 Создана БД в Access, содержащая таблицу Menu со столбцами Player, Money. Чтение проходит нормально. Но как только я пишу. Adodc1.RecordSource = "INSERT INTO Menu (Player, Money) VALUES ('Player2','10')" Adodc1.Refresh DataGrid1.Refresh Отладчик мне выдает ошибку: (Adodc1) Ошибка синтаксиса в инструкции INSERT INTO. Не могу понять в чем проблема! |
Сообщ.
#2
,
|
|
|
если поле Money не строка а int или float то попробуй так
INSERT INTO Menu (Player, Money) VALUES ('Player2', 10) или Возможно что Menu или Money - зарезервированные слова, попробуй так: INSERT INTO [Menu] (Player, [Money]) VALUES ('Player2', 10) |
Сообщ.
#3
,
|
|
|
Money – являлось зарегистрированным словом! (спасибо за подсказку)
Только вот опять все не так как надо. Теперь добавлять, запись добавляет, но перед этим выскакивает сообщение (Adodc1)Операция не допускается если объект закрыт, и выполнение программы прекращается. А в Access новая запись добалена! Странно! |
Сообщ.
#4
,
|
|
|
Не знаю синтаксис VB, но для выполнения квери типа Insert надо использовать метод типа ExecSQL или что-то похожее, просто скорее всего (опять-таки незная VB я не уверен) просто кверя пытается вернуть курсор данных, а его на Insert просто нет. Обычно методы обработки Select и Insert кверей разные - для селекта надо вернуть курсор, а Insert надо просто выполнить...
|