各位大虾,我是新手,请问怎样用SQL数据存储过程读取数据库中的数据??求知

解决方案 »

  1.   

    http://blog.csdn.net/skyfor/archive/2008/01/09/2032206.aspx
      

  2.   

    /// <summary>
            /// 执行有参的查询 返回DataTable
            /// </summary>
            /// <param name="cmdtext">存储过程名称或SQL语句</param>
            /// <param name="ct">命令类型</param>
            /// <param name="para">参数数组</param>
            /// <returns>返回DataTable</returns>
            public static DataTable ReturnDataTable(string cmdtext, CommandType ct, SqlParameter[] para)
            {
                DataTable dt = new DataTable();
                cmd = new SqlCommand(cmdtext, GetConn());
                //类型
                cmd.CommandType = ct;
                //参数数组
                cmd.Parameters.AddRange(para);
                SqlDataReader dr = null;
                //连接池 读完自动释放Connection
                using (dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
                {
                    //用委托填充DataTable
                    dt.Load(dr);
                }
                return dt;
            }调用
     /// <summary>
            /// 根据表返回所有的DataTable
            /// </summary>
            /// <param name="table"></param>
            /// <returns></returns>
            public DataTable ReturnDataTable(string table)
            {
                string commandtext = "Proc_SelectTable";
                SqlParameter[] para = new SqlParameter[] { new SqlParameter("@table", table) };
                return Marlboro.Common.SqlHelper.SqlHelper.ReturnDataTable(commandtext, CommandType.StoredProcedure, para);
            }
      

  3.   


    public DataSet GetListInfo(string strWhere)
             //strWhere 已获知
               {
                SqlParameter[] parameters = {
    new SqlParameter("@Where", SqlDbType.NVarChar,200)};
                parameters[0].Value = strWhere;
                
                //and A1.ParentID = 0            DataSet ds = DbHelperSQL.RunProcedure("UP_set_ProductType_GetList", parameters, "ds");            return ds;
            }
    --------------------------------------------------------------------
     public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName)
            {
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    DataSet dataSet = new DataSet();
                    connection.Open();
                    SqlDataAdapter sqlDA = new SqlDataAdapter();
                    sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
                    sqlDA.Fill(dataSet, tableName);
                    connection.Close();
                    return dataSet;
                }
            }
    -----------------------
    存储过程应该获得参数2个怎么就会出错呢???
    执行存储过程就会出错,不解???求解释
      

  4.   

    只要是讲asp.net的书上貌似都有。
      

  5.   

    2个参数你只传了一个啊 哥哥
    new SqlParameter("@Where", SqlDbType.NVarChar,200)};
      parameters[0].Value = strWhere;