ms-access query query error [duplicate]

Вы скомпилировали свой Java-класс с JDK 7, и вы пытаетесь запустить тот же класс на JDK 6.

2
задан leoraelkins 3 May 2015 в 22:21
поделиться

2 ответа

Size является зарезервированным ключевым словом . Добавьте скобки вокруг имени, чтобы указать, что это идентификатор:

string strSQL = "INSERT INTO Cats (CatName, Hair, [Size], CareType, Notes) VALUES (@CatName, @Hair, @Size, @CareType, @Notes)"; 

Альтернативно, измените имя поля на то, что не является ключевым словом.

5
ответ дан Guffa 21 August 2018 в 09:31
поделиться
  • 1
    СПАСИБО БОЛЬШОЕ! Я использовал имя, прежде чем менять его на CatName, потому что он был помечен как зарезервированное слово, поэтому я даже не думал об этом (очевидно). Ваше предложение решило мою проблему! – leoraelkins 3 May 2015 в 22:24

В MS Access OLEDB я считаю, что вы используете позиционные маркеры, а не имена параметров.

string strSQL = "INSERT INTO Cats (CatName, Hair, Size, CareType, Notes) VALUES (?, ?, ?, ?, ?)";
0
ответ дан garryp 21 August 2018 в 09:31
поделиться
  • 1
    No Access принимает тот же синтаксис параметров, что и его большой кузен. (Или лучше, провайдер OleDB не заботится) Однако это не означает, что OleDb распознает эти имена и позволяет вам изменить порядок, в котором вы указываете значения – Steve 3 May 2015 в 22:21
  • 2
    Извини, что ты прав. Я посмотрел на строку соединения с отсутствием слова "jet" не понимая, что он был заменен. – garryp 3 May 2015 в 22:38
Другие вопросы по тегам:

Похожие вопросы: