.Net Windows-приложение, использующее OLEDB с Access - PullRequest
0 голосов
/ 29 мая 2010

Я пытаюсь вставить запись в БД MS Access, используя OLEDB в приложении Windows.

Я получаю сообщение об ошибке «отсутствует точка с запятой в конце оператора SQL», нет синтаксической ошибки в SQL-описании вставки.

Мой код

Это оператор вставки, который я использую:

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 Ответ

0 голосов
/ 06 марта 2012

Похоже, вы хотите установить в свой 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 предпочитает числа без разделителей кавычек.

Удачи!

...