我有一个.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