#asp.net #ms-access
#asp.net #ms-access
Вопрос:
Я пытаюсь вставить данные в базу данных Access с помощью C #. Ошибка, которую я получаю,
Вставить в синтаксическую ошибку оператора
Код
textBox5.Text = ins; //string value
string into = "INSERT INTO customersales(c-invoiceNo,c-invoiceDate, c-discount, c-rant,c-paid, c-due) values ('" textBox5.Text.ToString() "'," dateTimePicker1.Text "," diccombo.Text.Trim() "," GRANTTXT.Text "," TXTPAID.Text "," txtdue.Text ")";
con.Open();
cmd = new OleDbCommand(into, con);
cmd.ExecuteNonQuery();
con.Close();
Имя таблицы: customersales
имя_столбца :
идентификатор (автономер) c-InvoiceNo (текст) c-InvoiceDate (дата / время) c-скидка (валюта) c-грант (валюта) c-оплаченный (валюта) c-due (валюта)
Комментарии:
1. Скопируйте и вставьте значение
into
в окно запроса в MS Access. Работает ли это?2. Into не является зарезервированным словом в C sharp?
Ответ №1:
Вы должны использовать параметризованный запрос, например
string into =
"INSERT INTO [customersales] ([c-invoiceNo], [c-invoiceDate], [c-discount], [c-grant], [c-paid], [c-due]) "
"VALUES (?,?,?,?,?,?)";
con.Open();
cmd = new OleDbCommand(into, con);
cmd.Parameters.AddWithValue("?", textBox5.Text);
cmd.Parameters.AddWithValue("?", dateTimePicker1.Value.Date);
cmd.Parameters.AddWithValue("?", diccombo.Text);
cmd.Parameters.AddWithValue("?", GRANTTXT.Text);
cmd.Parameters.AddWithValue("?", TXTPAID.Text);
cmd.Parameters.AddWithValue("?", txtdue.Text);
cmd.ExecuteNonQuery();
con.Close();
Комментарии:
1. этот код не работает должным образом, и произошла та же ошибка. пожалуйста, предложите еще раз.
2. @user2834203 Я обновил свой ответ. (Изменено
dateTimePicker1.Value
наdateTimePicker1.Value.Date
.)
Ответ №2:
Измените свой запрос таким образом,
string into = "INSERT INTO customersales(c-invoiceNo,c-invoiceDate, c-discount, c-grant,c-paid, c-due) values ('" textBox5.Text.ToString() "'," dateTimePicker1.Text "," diccombo.Text.Trim() "," GRANTTXT.Text "," TXTPAID.Text "," txtdue.Text ")";
Перед этим проверьте, установлена ли в спецификации идентификатора вашего автономера значение true или нет?
Комментарии:
1. Проверьте мой ответ сейчас. Измените свой синтаксис с помощью моей приведенной выше строки кода