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”是一个无效的列?

4

3 回答 3

7

您需要使用单引号在 SQL 中指定字符串。

所以

string sql = "SELECT column1 FROM table1 INNER JOIN table2 ON table1.table2ID = table2.table2ID where column1 = 'testData'";
于 2013-09-12T07:04:02.020 回答
2

您应该使用参数来避免此类问题。 http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters.aspx

于 2013-09-12T07:05:36.787 回答
1

没有必要\'只使用'.

string sql = "SELECT column1 FROM table1 INNER JOIN table2 ON table1.table2ID = table2.table2ID where column1 = 'testData'";
于 2013-09-12T07:05:39.087 回答