2013-09-12 5 views
0
string sql = "SELECT column1 FROM table1 INNER JOIN table2 ON table1.table2ID = table2.table2ID where column1 = \"testData\""; 
using (var command = new SqlCommand(sql, connection)) 
{ 
    using (var reader = command.ExecuteReader()) 
    { 
     while (reader.Read()) 
     { 
      Console.WriteLine(reader["column1"].ToString()); 
     } 
     Console.ReadLine(); 
    } 
} 

Вышеупомянутый SQL-запрос работает отлично, если нет предложения where, и я могу писать «testData». Но когда я ограничиваю условие, то он дает мне sqlException, говоря, что «testData» является недопустимым столбцом?Странное поведение с C# SQL

+4

Попробуйте использовать одиночные кавычки Arround column1 – Heslacher

ответ

7

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

Так

string sql = "SELECT column1 FROM table1 INNER JOIN table2 ON table1.table2ID = table2.table2ID where column1 = 'testData'"; 
+3

Вы должны удалить обратный слэш – Heslacher

+3

Документов Sybase полны двойных кавычек в примерах, и удивлению, она не работает ... – leppie

1

.

string sql = "SELECT column1 FROM table1 INNER JOIN table2 ON table1.table2ID = table2.table2ID where column1 = 'testData'"; 
Смежные вопросы