解决方案 »

  1.   

    创始SqlCommand对象,指定参数,指定方向,查询。
      

  2.   

    如何使用存储过程,将数据显示在DataGridView中?
    /// 执行存储过程
    /// </summary>
    /// <param name="stocreProcName">存储过程名</param>
    /// <returns></returns>
    public static DataSet GetDataSetFromProcedure(string stocreProcName)
    {
        SqlConnection con = DB.sqlcon();
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = con;
        con.Open();
        cmd.CommandText = stocreProcName;
        cmd.CommandType = CommandType.StoredProcedure;
        SqlDataAdapter sdr = new SqlDataAdapter();
        sdr.SelectCommand = cmd;
        DataSet ds = new DataSet();
        sdr.Fill(ds);
        return ds;
    }
    将数据显示在DataGridView中:
    DataGridView1.DataSource=ds.Tables[0];
    如果是DataGrid,则使用SetDataBinding方法:
    DataGrid1.SetDataBinding(ds,"表名");下面是带参数的存储过程:
    sqlCmd.CommandType=CommandType.StoredProcedure;
    sqlCmd.CommandText="存储过程名称";
    //给sql命令添加参数
    SqlParameter ClassNo=sqlCmd.Parameter.Add("@ClassNo",SqlDbType.NVarChar,10)
    //设定参数为输入参数
    ClassNo.Direction=ParameterDirection.Input;
    ClassNo.Value=txtClassNo.Text.Trim();SqlParameter StuCount=sqlCmd.Paramter.Add("@StudentCount",SqlDbType.Int);
    //设定参数为输出参数
    stuCount.Direction=ParameterDirection.Output;//添加一个参数接收返回值
    SqlParameter retValue=sqlCmd.Paramter.Add("@ReturnValue",SqlDbType.Int);
    retValue=ParameterDiretion.ReturnValue// 获取输出参数
    stuCount.Value//获取返回值
    retValue.ValueOleDB的方式:
    /// 执行存储过程
    /// </summary>
    /// <param name="storedProcName">存储过程名</param>
    /// <param name="parameters">存储过程参数</param>
    /// <returns>OleDbDataReader</returns>
    public static OleDbDataReader RunProcedure(string storedProcName, IDataParameter[] parameters )
    {
     OleDbConnection connection = new OleDbConnection(connectionString);
     OleDbDataReader returnReader;
     connection.Open();
     OleDbCommand command = BuildQueryCommand( connection,storedProcName, parameters );
     command.CommandType = CommandType.StoredProcedure;
     returnReader = command.ExecuteReader();    
     return returnReader;   
    }
    参考帖子:
    http://topic.csdn.net/u/20100513/13/f71eae36-6553-42e0-acf0-ca8fdbc900a2.html?34619
    http://topic.csdn.net/u/20100513/09/62b12fa9-9cf9-4b89-a84a-24f166951978.html?65056