Синтаксическая ошибка в инструкции INSERT INTO - PullRequest
0 голосов
/ 18 июня 2010
conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\database.mdb");
conn.Open();

com = new OleDbCommand(@"insert into group
                          (groupid,groupname,nature,effect) 
                         values 
                          (@groupid,@groupname,@nature,@effect)", conn);
com.Parameters.AddWithValue("@groupid", intialtxt);
com.Parameters.AddWithValue("@groupname", groupnametxt);
com.Parameters.AddWithValue("@nature", groupnaturecombo);
com.Parameters.AddWithValue("@effect", efectivegroupcombo);
com.ExecuteNonQuery();

conn.Close()

Я написал это соединение, но получил одну ошибку Синтаксическая ошибка в операторе INSERT INTO пожалуйста, кто-нибудь, помогите мне.

Ответы [ 3 ]

2 голосов
/ 18 июня 2010

Дикая догадка, но попробуйте ввести [group] вместо просто group. Я предполагаю, что групповое слово зарезервировано из-за предложения "GROUP BY".

1 голос
/ 18 июня 2010

Ааааа MS Access с вашими чрезвычайно глупыми разрешениями именования, от разрешения пробелов в именах таблиц до разрешения использования ключевых слов SQL для имен полей.

GROUP - это зарезервированное для SQL слово . Если у вас есть шанс, я настоятельно рекомендую переименовать его. Тем не менее, если вы не можете переименовать его, заключите его в квадратные скобки в запросе [группа].

0 голосов
/ 18 июня 2010

OleDbCommand (@ "вставить в группу (

У вас есть некоторые опечатки:

  • между именем таблицы и вашим открытым парнем должен быть пробел, например: group (groupid
  • .
...