2016-03-25 3 views
-1

Ok Я новичок в этом, и я понятия не имею, что я делаю, и мне действительно нужна помощьВставка данных в MS Access, получение ошибки «Синтаксическая ошибка в инструкции INSERT INTO». VB

Dim lnkr As New OleDbCommand(String.Format("insert into project (Student Name, Days Absent, Classes Absent, Arabic, Islamic, English, Math, Biology, Chemistry, Physic, Computer,Day Offs) values ('{0}',{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11}", TextBox1.Text, TextBox10.Text, TextBox12.Text, TextBox2.Text, TextBox6.Text, TextBox3.Text, TextBox4.Text, TextBox7.Text, TextBox5.Text, TextBox9.Text, TextBox8.Text, TextBox11.Text)) 

    lnkr.Connection = con 
    con.Open() 
    lnkr.ExecuteNonQuery() 

    con.Close() 
+1

[SQL Injection alert] (http://msdn.microsoft.com/en-us/library/ms161953%28v=sql.105%29.aspx) - вы должны ** не ** объединить свои SQL-выражения - используйте ** параметризованные запросы **, чтобы избежать SQL-инъекции. –

+0

. Мой дорогой мой английский не очень силен, и мне нужен этот код в правильном направлении. Мне нужно доставить мой проект завтра. Я знаю, что я прошу много, но вы можете отправить мне правильный код. :( –

+0

Имя студента => [Имя студента], Дни отсутствуют => [Дни отсутствуют] и т. Д. Имена полей могут не содержать пробелов или должны быть заключены в квадратные скобки [] – nabuchodonossor

ответ

0

Вы пропустите заполнитель {12}:

String.Format("insert into project ([Student Name], [Days Absent], [Classes Absent], Arabic, Islamic, English, Math, Biology, Chemistry, Physic, Computer, [Day Offs]) values ('{0}', {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}", TextBox1.Text, TextBox10.Text, TextBox12.Text, TextBox2.Text, TextBox6.Text, TextBox3.Text, TextBox4.Text, TextBox7.Text, TextBox5.Text, TextBox9.Text, TextBox8.Text, TextBox11.Text)) 

Не может скажите, правильна ли позиция.