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" を書き込める場合に正常に機能します。しかし、条件を制限すると、「testData」が無効な列であるという sqlException が表示されますか?

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 に答える