好吧,我很好奇如果我传递一些没有@
符号
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();
}
}
这有时可能会运行而另一个会失败吗?
由于
答案 0 :(得分:1)
如果您未在参数名称前添加"@"
,则会自动添加"@"
。但最好的做法是手动添加@
并且不依赖于自动功能。
有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparameter.parametername.aspx