На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! информация о разделе
user posted imageДанный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ.

Модераторы: Akina
  
> SQL - INSERT (VB,ACCESS)
    Мне нужно добавить новую запись в БД.
    На форме расположены компоненты Adodc1 и DataGrid1
    Создана БД в Access, содержащая таблицу Menu со столбцами Player, Money.
    Чтение проходит нормально. Но как только я пишу.  

    Adodc1.RecordSource = "INSERT INTO Menu (Player, Money) VALUES ('Player2','10')"

    Adodc1.Refresh

    DataGrid1.Refresh

    Отладчик мне выдает ошибку: (Adodc1) Ошибка синтаксиса в инструкции INSERT INTO.
    Не могу понять в чем проблема!
      если поле Money не строка а int или float то попробуй так
      INSERT INTO Menu (Player, Money) VALUES ('Player2', 10)  

      или

      Возможно что Menu или Money - зарезервированные слова, попробуй так:
      INSERT INTO [Menu] (Player, [Money]) VALUES ('Player2', 10)  


        Money – являлось зарегистрированным словом! (спасибо за подсказку)
        Только вот опять все не так как надо. Теперь добавлять, запись добавляет, но перед этим выскакивает сообщение (Adodc1)Операция не допускается если объект закрыт, и выполнение программы прекращается. А в Access новая запись добалена!
        Странно!
          Не знаю синтаксис VB, но для выполнения квери типа Insert надо использовать метод типа ExecSQL или что-то похожее, просто скорее всего (опять-таки незная VB я не уверен) просто кверя пытается вернуть курсор данных, а его на Insert просто нет. Обычно методы обработки Select и Insert кверей разные  - для селекта надо вернуть курсор, а Insert надо просто выполнить...
          Сообщение отредактировано: Vit -
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0254 ]   [ 15 queries used ]   [ Generated: 3.05.24, 01:22 GMT ]