我目前正在从以下查询select * from TableName WHERE ColumnName ='values''s'
执行查询数据集而没有任何错误,并且返回数据集是空行。当我在SQL工作表中执行相同的操作时,它返回数据
以下代码参考
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)
请试试这个:
string sqlQuery = 'SELECT * FROM TableName WHERE Name ="McNaught\'s"'
答案 1 :(得分: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();
答案 2 :(得分:0)
尝试此操作可以使用\
转义序列。
string sqlQuery = "select * from TableName WHERE Name ='McNaught\"s'";