我想获得一个插入/返回主键SQL查询运行。参数不存在时出错?
查询最终看起来像这样:
declare @userid as integer;
insert into users (username,emailaddress,passwordhash,salt) values
(@username,@email,@password,@salt);
set @userid=scope_identity();
insert into groups (name,userid) values ('somegroup',@userid);
select @userid;
这只是进入SqlCommand.CommandText领域。所以,这是作为一个单独的查询执行
我然后添加参数如下:(cmd
是SqlCommand
对象)
cmd.Parameters.Add(new SqlParameter("@email",user.EmailAddress));
cmd.Parameters.Add(new SqlParameter("@username",user.Username));
cmd.Parameters.Add(new SqlParameter("@salt",user.Salt));
cmd.Parameters.Add(new SqlParameter("@password", user.PasswordHash));
我再执行与ExecuteScalar();
查询将在这一点上抛出一个错误,虽然说参数@email不存在。
我该如何解决这个问题?
+1来查明你自己。 – Pankaj 2011-06-13 08:25:36