Вопрос по c – Синтаксическая ошибка в инструкции INSERT INTO

1

У меня есть проблема, когда я подключаюсь к базе данных доступа, тогда я получаю ошибку Синтаксическая ошибка в инструкции INSERT INTO. и мой код:

<code> string str = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:/Users/Geeta/Desktop/Database2.accdb;Persist Security Info=False;");
        OleDbConnection conn = new OleDbConnection(str);
        conn.Open();
        string query = "insert into data (FirstName,Email,Password,Address) values ('" + 
            txt_fstname.Text + "','" + txt_email.Text + "', '" + 
            txt_pass.Text + "', '" + txt_add.Text + "')";
        OleDbCommand cmd = new OleDbCommand(query,conn);
        cmd.ExecuteNonQuery();
        conn.Close();
        Response.Redirect("Default.aspx");
</code>

Пожалуйста, предложите мне.

& Quot; Благодаря & Quot;

SQL Injection кто-нибудь? Jonathan Leffler
Первый шаг в отладке - напечатать (или записать) строкуquery; что он содержит, когда вы получаете сообщение об ошибке? Jonathan Leffler
Не могли бы вы добавить сообщение об ошибке? и строка запроса, которая генерируется во время выполнения. Возможно, в текстовых полях есть какие-то специальные символы. juergen d
Пожалуйста, не создавайте запрос, добавляя в команду строки, целые числа и даты: используйтеParameters и твоя жизнь станет проще !!! Marco
Создание запроса таким образом, если пользователь использует' в пароле ваш запрос не выполняется и то же самое для всех остальных полей Вы проверяете ввод пользователя перед передачей его в запросе? Вы дезинфицируете это? Marco

Ваш Ответ

1   ответ
3

зарезервированное слово в Jet / ACE SQL, поэтому вы должны заключить его в квадратные скобки:

string query = "insert into data (FirstName,Email,[Password],Address) values ('" + 
Error: User Rate Limit Exceeded Sanat Pandey

Похожие вопросы