2015-09-02 10 views
1
try 
     { 

      string Query = "SELECT Registrations list FROM [Records] WHERE textBox = '" + comboBox.SelectedValue + "'"; 
      OleDbConnection me = new OleDbConnection(connection); 
      OleDbCommand constr = new OleDbCommand(Query, me); 
      OleDbDataReader reader; 
      connection.Open(); 
      reader = constr.ExecuteReader(); 

      if (reader.Read()) 
      { 
       OleDbParameter parameter = constr.Parameters.Add(new OleDbParameter("Registrations list", OleDbType.Integer)); 
       textBox.Text = reader["Registrations list"].ToString(); 
      } 
      me.Close(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
    } 

Im пытается получить значение базы данных для отображения в текстовом поле, но получает ошибку, я попытался в основном все возможноеошибка синтаксиса (отсутствующий оператор) в выражении запроса SQL

+1

Что такое 'Список регистрации' –

+0

Вы пытались выполнить команду SQL as-is, чтобы увидеть, можете ли вы воспроизвести ошибку? Это может привести к тому, что вызывает проблему. –

+0

Да, но ничего не работает –

ответ

1

завернуть имя столбца с квадратными скобками

SELECT [Registrations list] FROM [Records] WHERE textBox 

в противном случае SQL Server ищет колонку под названием Registrations, а затем пытается его как псевдоним [List]

+0

Уже пробовал, что и все та же ошибка –

+0

@Johnugo: - Можете ли вы рассказать нам точную ошибку, которую вы получаете при выполнении вышеуказанного запроса? –

+0

вам нужно сделать это в самом запросе select. –

0

Заключите сотрудничества lumn name в квадратных скобках.

SELECT [Registrations list] 

Если имена столбцов contais пространства, то вам необходимо заключить имя столбца в квадратных скобках еще SQL Server будет рассматривать его в качестве двух имен столбцов и так запятая будет также нет, следовательно, это даст вам синтаксическую ошибку.

0

Я предполагаю, что есть ошибка в SQL

string Query = "SELECT Registrations list FROM [Records] WHERE textBox = '" + comboBox.SelectedValue + "'"; 

Между SELECT и FROM должен быть разделенный запятыми список столбцов belinging к столу Records. Если вы хотите пометить столбец, поместите ключевое слово as между именем столбца и меткой uts.

Если вы разместили пробел в названии столбца (никогда не видели, никогда не видели, даже не знаете, возможно ли это вообще), попробуйте включить имя столбца между одинарными кавычками. Или (намного лучше) переименовать столбец.

Смежные вопросы