Syntax error (missing operator) in query expression

185
19 октября 2021, 06:00

Язык: с#

Есть поле для ввода текста, его текст хранится в TextBox.Text

Есть бд(Microsoft access), там есть столбец sub и он может хранить текст

Есть запрос:string query_sub = "UPDATE bd SET sub = " + TextBox.Text + " WHERE id = 1 ";

Строки для выполнения запроса:

OleDbCommand command = new OleDbCommand(query_sub, connection);

command.ExecuteNonQuery();

Когда в TextBox.Text тоесть в поле для ввода вводится только цифры все работает отлично, но если появляются символы то появляется ошибка Syntax error (missing operator) in query expression 'Текст который ввели в поле'

Я уже долго немогу понять как это исправить, мне нужно чтобы при вводе символов небыло ошибок и выполнялся запрос

Answer 1

Дело в том, что строковое значение должно быть заключено в кавычки.

Вам может помочь такой вариант

string query_sub = String.Format("UPDATE bd SET sub = '{0}' WHERE id = 1 ", TextBox.Text);
Answer 2

Попробуйте вот так

public void Update(String connectionString)
{
    var text= TextBox.Text;
    using (var connection = new OleDbConnection(connectionString))
    {
        using (var command = connection.CreateCommand())
        {
            command.CommandText = "UPDATE bd SET sub = '@text' WHERE id = 1;";
            command.Parameters.AddRange(new OleDbParameter[] 
            {
                new OleDbParameter("@text", text)
            });
            connection.Open();
            command.ExecuteNonQuery();
        }    
    }   
}
READ ALSO
Ошибка во время миграции

Ошибка во время миграции

Проект приложение windows service/служба, после какого то момента перестала работать миграция и получаю вот такую ошибку, не могу понять чего он трогает...

153
Ходы фигур в шахматах

Ходы фигур в шахматах

Создал шахматное поле и разрабатываю ходыПоле сделал с помощью грида и заполнил кнопками

143
Собрать консольное приложение как exe

Собрать консольное приложение как exe

Всем привет! Создал консольный проект C#, но после сборки в папке bin/debug лежит папка netcoreapp21

151
Позиция слов datagridview

Позиция слов datagridview

нужна очень помощь, пожалуйстаВ datagridview находится массив слов, который берется с richtextbox

300