日期:2014-05-18  浏览次数:20837 次

存储过程需要参数 求解
C# code
 
  SqlConnection sqlcon = new SqlConnection(ConnectionString);
            sqlcon.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = sqlcon;
cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "GetAdvanceRecordFromPage";
            cmd.Parameters.Add(@"@SearchCondition", SqlDbType.VarChar, 8000, sql);
            cmd.Parameters.Add(@"@PageIndex", SqlDbType.Int, 4, "1");
            cmd.Parameters.Add(@"@SearchCondition", SqlDbType.Int, 4, "50");


过程或函数 'GetAdvanceRecordFromPage' 需要参数 '@SearchConditio

我已经赋值了啊 为什么还这么提示我呢

------解决方案--------------------
这样试试cmd.Parameters.AddWithValue("@SearchCondition", sql); 

------解决方案--------------------
http://www.cnblogs.com/flaaash/archive/2011/03/28/1998231.html
------解决方案--------------------
探讨

cmd.Parameters.AddWithValue("@SearchCondition", sql); 就好使 为什么呢

------解决方案--------------------
你的参数名写错了
cmd.Parameters.Add(@"@SearchCondition", SqlDbType.VarChar, 8000, sql);
过程或函数 'GetAdvanceRecordFromPage' 需要参数 '@SearchConditio
------解决方案--------------------
cmd.Parameters.Add(@"@SearchCondition", SqlDbType.VarChar, 8000, sql);
Add方法没有提供没有赋值的参数.
public SqlParameter Add(
string parameterName,
SqlDbType sqlDbType,
int size,
string sourceColumn
)
参数
parameterName
类型:System..::.String

参数名。

sqlDbType
类型:System.Data..::.SqlDbType

SqlDbType 值之一。

size
类型:System..::.Int32

列长。

sourceColumn
类型:System..::.String

源列的名称。

cmd.Parameters.Add(@"@SearchCondition", SqlDbType.VarChar, 8000, sql).Value="xxxx";