1
我想爲一個查詢作爲命令參數提供的表名,就像這樣:如何在Npgsql中提供查詢的表名作爲命令參數?
public class Foo
{
private const String myTableName = "mytable";
public void Bar()
{
NpgsqlCommand command = new NpgsqlCommand("SELECT * from :tableName", connection);
command.Parameters.Add(new NpgsqlParameter("tableName", DbType.String));
command.Parameters[0].Value = myTableName;
}
}
這似乎導致此查詢:"SELECT * from E'mytable'"
導致錯誤(介意單引號)。
我真的需要爲此做字符串連接嗎?它不會從安全角度看不要緊,因爲表的名稱不能被用戶,但字符串連接爲始終創建SQL查詢的改變讓我毛骨悚然......
感謝, 埃裏克
表名總是常量。謝謝。 – EricSchaefer 2009-07-30 11:19:35