将参数传递给没有@符号的存储过程
本文关键字:符号 存储过程 参数传递 | 更新日期: 2023-09-27 18:10:22
嗯,我很好奇如果我传递一些没有@
符号的参数会发生什么
public static int Run(string command,string anotherParameter, DataTable dt)
{
SqlDataAdapter adapter = new SqlDataAdapter("SPName", Connection.Connect);
adapter.SelectCommand.CommandType = CommandType.StoredProcedure;
adapter.SelectCommand.Parameters.Add("@command",SqlDbType.NVarChar).Value=command;
//another one without @
adapter.SelectCommand.Parameters.Add("anotherParameter",SqlDbType.NVarChar).Value=anotherParameter;
try
{
return adapter.Fill(dt);
}
catch (Exception ex)
{
return -1;
}
finally
{
adapter.Dispose();
}
}
这个可能有时运行,另一个失败?
谢谢
如果未在参数名称前添加"@"
,则会自动添加"@"
。但是最好的做法是手动添加@
,不要依赖于自动功能。更多信息请参见http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparameter.parametername.aspx