我有一個.dbproj項目部署下面的描述中創建的SQL Server數據庫表:如何將GUID值傳遞給SqlCommand對象SQL INSERT語句?
CREATE TABLE [dbo].[Tasks]
(
TaskId uniqueidentifier primary key,
State int not null,
)
,我想行插入該表與下面的代碼:
using(SqlTransaction transaction = connection.BeginTransaction()) {
using(SqlCommand command = connection.CreateCommand()) {
command.CommandText = "INSERT INTO Tasks VALUES(\"" +
Guid.NewGuid().ToString() + "\", 0)";
command.Transaction = transaction;
command.ExecuteNonQuery();
transaction.Commit();
}
}
當ExecuteNonQuery()
運行一個豁免被拋出說
在此上下文中不允許名稱[我通過的GUID的字符串表示形式]。
這是怎麼回事?我也是這樣做的,以前將數據插入到SQLite表中並且工作正常。如何將GUID傳遞到SQL INSERT語句中?
單引號(''')。 – 2011-03-17 10:57:31
請勿使用單引號 - 請改用**參數化查詢**!更安全....你可以拼寫[SQL注入攻擊?](http://xkcd.com/327/) – 2011-03-17 11:03:54