2010-05-29 1 views
0

Я пытаюсь вставить запись в MS Access DB с помощью OLEDB в приложении Windows..Net Приложение Windows с использованием OLEDB с доступом

Я получаю сообщение об ошибке «Отсутствие точки с запятой в конце инструкции sql» в sql insert stat отсутствует ошибка синтаксиса.

Мой код

Это заявление вставки я использую:

INSERT INTO Student 
VALUES ('SRI-10-101','001','guru','30/05/2010 12:00:00 AM','','','','','','','600028','','','','','','','30/05/2010 11:25:44 AM',''); 

вместе с кодом:

conn = this.GetConnection();// which returns Connection object 
tran = conn.BeginTransaction(); 
OleDbCommand cmd = conn.CreateCommand(); 
cmd.Connection = conn; 
cmd.CommandText = strQuery;// Insert statement 
cmd.CommandType = CommandType.Text; 
cmd.Transaction = tran; 
cmd.ExecuteNonQuery(); 
tran.Commit(); 

Я попытался с точкой с запятой и до сих пор я получаю сообщение об ошибке;

Благодаря

+1

Можете ли вы разместить свой код. Без этого вам будет сложно диагностировать вашу проблему. – ChrisF

+2

чувак, где SQL-оператор или команда, которую вы используете? – TheVillageIdiot

+1

Вы бы поставили SQL-инструкцию и/или фрагмент кода? – Simon

ответ

0

Похоже, что вы хотите установить strQuery к стоимости вашего вставки заявления.

на основе коды он должен выглядеть примерно так:

string strQuery = "INSERT INTO Student 
      VALUES ('SRI-10-101','001','guru','30/05/2010 12:00:00 AM','','','','','','','600028','','','','','','','30/05/2010 11:25:44 AM','')"; 

Как всегда, вы должны убедиться, что вы подключены и дефолт в соответствующей базу данных (или указать его явно до вашего имени таблицы (т.е. MyAwesomeDatabase .dbo.Student).

Наконец, похоже, что вы пытаетесь вставить число в виде массива символов ('001' или '600028'), если поля в базе данных имеют числовой тип, тогда SQL предпочитает номера без кавычек.

Удачи!

Смежные вопросы