Hello,
如果是参数化查询的话,数据库不会直接执行你写的sql语句,而是通过调用sp_executesql
这个存储过程来执行你的sql语句,也就是说如果你写了如下的更新操作:
SqlCommand cmd = new SqlCommand("update [Order] set OrderName = @OrderName", con);
cmd.Parameters.Add(new SqlParameter("@OrderName", "1"));
cmd.ExecuteNonQuery();
你用sql profile
看到不会是:
update [Order] set OrderName = '1'
而应该是:
exec sp_executesql N'update [Order] set OrderName = @OrderName',N'@OrderName nvarchar(1)',@OrderName=N'1'
Regards.