首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

执行存储过程如何传入参数

2012-12-16 
执行存储过程怎么传入参数public DataSet GetPuchRecp(string sPuchrecpCode){string sql Configuration

执行存储过程怎么传入参数


public DataSet GetPuchRecp(string sPuchrecpCode)
    {
        string sql = ConfigurationManager.ConnectionStrings["FEDZWEBtest"].ToString() ;
        SqlConnection sqlCon = new SqlConnection(sql) ;
        DataSet ds = new DataSet() ;

        SqlCommand cmd = new SqlCommand("sp_BS_PuchRecpTOEFLY", sqlCon) ; //sp_BS_PuchRecpTOEFLY 存储过程
        cmd.CommandType = CommandType.StoredProcedure;
                                            //@sPuchrecpCode 存储过程中的参数
        cmd.Parameters.Add(new SqlParameter("@sPuchrecpCode", SqlDbType.VarChar, 8));
        cmd.Parameters["@sPuchrecpCode"].Direction = ParameterDirection.Input;
        SqlDataAdapter adp = new SqlDataAdapter(cmd);
        adp.Fill(ds);
        return ds;
    }

我执行后提示没有传入参数,我不知道怎么传,方法里的sPuchrecpCode我不知道在什么地方用,请高手指点一下,我是刚学ASP的不知道怎么弄
[最优解释]

public DataSet GetPuchRecp(string sPuchrecpCode)
    {
        string sql = ConfigurationManager.ConnectionStrings["FEDZWEBtest"].ToString() ;
        SqlConnection sqlCon = new SqlConnection(sql) ;
        DataSet ds = new DataSet() ;

        SqlCommand cmd = new SqlCommand("sp_BS_PuchRecpTOEFLY", sqlCon) ;
        cmd.CommandType = CommandType.StoredProcedure;

        cmd.Parameters.Add(new SqlParameter("@sPuchrecpCode", SqlDbType.VarChar, 8)); //增加并定义参数@sPuchrecpCode
        cmd.Parameters["@sPuchrecpCode"].Value = sPuchrecpCode;                       //传入参数 @sPuchrecpCode的值
        cmd.Connection.Open();
        SqlDataAdapter adp = new SqlDataAdapter(cmd);
        adp.Fill(ds);
        return ds;
    }

[其他解释]
sPuchrecpCode就是你的参数啊,看看有没有值
[其他解释]
直接像普通sql语句一样用就ok了

假设数据库有存储过程 p_test,其有两个参数

写sql语句
string a="1";
string b="1";
string sql="p_test "+a+", "+b;


执行该sql语句就行了
[其他解释]
GetPuchRecp方法里的sPuchrecpCode就是你需要的存储过程的值。


你必须先建立数据库连接并打开,并新建一个SqlCommand对象并实例化,再通过该对象创建一个参数变量(@变量名)并初始化该参数。最后把sPuchrecpCode的值赋值给你新建的参数变量。
具体的操作如1楼。
你缺的就是赋值的语句:cmd.Parameters["@sPuchrecpCode"].Value = sPuchrecpCode; 

热点排行