2017-02-22 30 views
0

В настоящее время я набираю набор данных из следующего запроса select * from TableName WHERE ColumnName ='values''s' запрос выполняется без каких-либо ошибок, а возвращаемый набор данных - пустые строки. Когда я выполняю то же самое в SQL Worksheets, он возвращает данныеSQL Query с одинарными кавычками не получает никакой записи

Следующий код для ссылки.

string sqlQuery = "select * from TableName WHERE Name ='McNaught''s'"; 
SqlConnection conn = new SqlConnection(ConnectionString); 
SqlCommand cmd = conn.CreateCommand(); 
cmd.CommandText = sqlQuery; 
SqlDataAdapter adapter = new SqlDataAdapter(); 
adapter.SelectCommand = cmd; 
DataSet ds = new DataSet();    
conn.Open(); 
adapter.Fill(ds); 
conn.Close(); 
+0

Какова фактическая величина, которую вы хотите включить в условия условия? –

+0

, где я включен ColumnName = 'McNaught' и удобрения ' – SAA

+0

Вы хотите запросить фиксированный sql или динамический (конкатенировать некоторую строку C#)? –

ответ

0

Пожалуйста, попробуйте следующее:

string sqlQuery = 'SELECT * FROM TableName WHERE Name ="McNaught\'s"' 
0

Проблема в том, что вам нужно, чтобы обеспечить последовательность выхода до второго ' так, что компилятор может различать между предыдущим апостроф. Попробуй это.

string sqlQuery = "select * from TableName WHERE Name ='McNaught'\'s'"; 
SqlConnection conn = new SqlConnection(ConnectionString); 
SqlCommand cmd = conn.CreateCommand(); 
cmd.CommandText = sqlQuery; 
SqlDataAdapter adapter = new SqlDataAdapter(); 
adapter.SelectCommand = cmd; 
DataSet ds = new DataSet();    
conn.Open(); 
adapter.Fill(ds); 
conn.Close(); 
0

Попробуйте это будет работать с \ последовательности.

string sqlQuery = "select * from TableName WHERE Name ='McNaught\"s'";