Неправильный sql запрос (SQL C#)

174
03 августа 2018, 17:40

Всем привет! Опишу суть проблемы есть некая база данных (таблица книг) и надо сделать поиск по определенному параметру даной таблицы....делаю к примеру запрос поиска по имени автора:

    SqlConnection MyBaseConnector;
        MyBaseConnector = new SqlConnection(MyAdress);
        MyBaseConnector.Open();
              SqlCommand MyFindComand = null;
                string MyParam = "";
                MyParam = "'" + MyFindParam + "'"; //FindParam - значение получаемое из TextBox (Пользователь сам вводит значение по которому проводится поиск)
                if (NameFinder == true)
                {
                   MyFindComand = new SqlCommand("SELECT Name,Author,Year,Number,Tags,Count,ForBorrow,PdfAvailable FROM [Books] WHERE Author=" + MyParam, MyBaseConnector);
                }
                SqlDataReader TableReader = null;
                try
                    {
                    TableReader =  MyFindComand.ExecuteReader();
                    while(TableReader.Read())
                    {
   }       
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex);
                    }
                    finally
                    {
                        if (TableReader != null)
                        {
                            TableReader.Close();
                        }
                    }

В данном коде в цикле while TableReader.Read() всегда будет возвращать false, хотя когда сам запрос будет выглядеть например вот так:

  MyFindComand = new SqlCommand("SELECT * FROM [Books]", MyBaseConnector);

то все будет работать корректно....видимо проблема в самом запросе, но вот я не пойму что не так.Может быть сможете подсказать.

Answer 1

Все столбцы должны быть в квадратных скобках. MyFindComand = new SqlCommand("SELECT [Name],[Author],[Year],[Number],[Tags],[Count],[ForBorrow],[PdfAvailable] FROM [Books] WHERE Author=" + MyParam, MyBaseConnector);

READ ALSO
Зависание основного потока

Зависание основного потока

На WPF форме есть элемент TextBox txtСоздаётся фоновый поток, который в цикле выполняет некоторые вычисления для float value

178
Активирование кнопки при заполнении DataGridView

Активирование кнопки при заполнении DataGridView

У меня есть объект DataGridView и кнопка перехода на следующий этапЯ хотела бы, чтобы эта кнопка активировалась только при условии, что все ячейки...

194
Visual Studio не видит классы Unity

Visual Studio не видит классы Unity

После переустоновки vs перестал видеть классы юнитиНе знаю на всех форумах перелазил толком ответа не нашёл

214