-2

好吧,我很好奇如果我传递一些没有@符号的参数会发生什么

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();
        }     

 }

这可能有时会运行而另一个失败?

谢谢

4

1 回答 1

1

如果您不在"@"参数名称前添加,"@"则会自动添加。但最好的做法是手动添加@,不要依赖自动功能。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparameter.parametername.aspx

于 2013-04-22T09:24:04.350 回答