有这样一个存储过程:
CREATE PROC my_Table
@tbname     sysname,               --要分页显示的表名
@FieldKey   nvarchar(1000),      --用于定位记录的主键(惟一键)字段,可以是逗号分隔的多个字段
@PageCurrent int=1,               --要显示的页码
@PageSize   int=10,                --每页的大小(记录数)
@FieldShow nvarchar(1000)='',      --以逗号分隔的要显示的字段列表,如果不指定,则显示所有字段
@FieldOrder nvarchar(1000)='',      --以逗号分隔的排序字段列表,可以指定在字段后面指定DESC/ASC用于指定排序顺序
@Where    nvarchar(1000)='',     --查询条件
@PageCount int OUTPUT             --总页数
AS -----……下面省略这段存储过程在ADO 中怎么调用  ?最好有源代码   谢谢

解决方案 »

  1.   

    ADO.NET调用存储过程
    http://www.google.cn/search?hl=zh-CN&source=hp&q=ADO.NET%E8%B0%83%E7%94%A8%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B&btnG=Google+%E6%90%9C%E7%B4%A2&aq=f&aqi=g1&aql=&oq=&gs_rfai=
    nhibernate调用存储过程
    http://www.google.cn/search?hl=zh-CN&newwindow=1&q=nhibernate%E8%B0%83%E7%94%A8%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B&aq=f&aqi=g1&aql=&oq=&gs_rfai=
    entity调用存储过程
    http://www.google.cn/search?hl=zh-CN&newwindow=1&q=entity%E8%B0%83%E7%94%A8%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B&aq=f&aqi=&aql=&oq=&gs_rfai=
    enterprise library 存储过程
    http://www.google.cn/search?hl=zh-CN&newwindow=1&q=enterprise+library+%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B&aq=0&aqi=g1&aql=&oq=enterprise+library+%E5%AD%98%E5%82%A8&gs_rfai=
    datagrid存储过程
    http://www.google.cn/search?hl=zh-CN&newwindow=1&q=datagrid%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B&aq=f&aqi=&aql=&oq=&gs_rfai=
    sqlhelper.cs 存储过程
    http://www.google.cn/search?hl=zh-CN&newwindow=1&q=sqlhelper.cs+%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B&aq=f&aqi=&aql=&oq=&gs_rfai=
      

  2.   

      /// 调用分页存储过程,返回当前页数据
           /// </summary>
           /// <param name="currPage">当前页页码</param>
           /// <param name="showColumn">需要得到的字段</param>
           /// <param name="tabName">需要查看的表名</param>
           /// <param name="strCondition">查询条件</param>
           /// <param name="ascColumn">排序的字段名</param>
           /// <param name="bitOrderType">排序的类型</param>
           /// <param name="pkColumn">主键名称</param>
           /// <param name="pageSize">分页大小</param>
           /// <returns></returns>
            public static DataSet GetList(int currPage, string showColumn,string tabName , string strCondition, string ascColumn,int bitOrderType, string pkColumn,int pageSize)
            {            SqlParameter[] parameters = {
                new SqlParameter("@currPage", SqlDbType.Int),
                new SqlParameter("@showColumn", SqlDbType.VarChar),
                new SqlParameter("@tabName", SqlDbType.VarChar),
                new SqlParameter("@strCondition", SqlDbType.NVarChar,4000),
                new SqlParameter("@ascColumn", SqlDbType.NVarChar,1000),
                new SqlParameter("@bitOrderType", SqlDbType.Int),
                new SqlParameter("@pkColumn", SqlDbType.NVarChar,1000),
                new SqlParameter("@pageSize", SqlDbType.Int)
              
                };
                parameters[0].Value = currPage;            parameters[1].Value = showColumn;
                parameters[2].Value = tabName;
                parameters[3].Value = strCondition;
                parameters[4].Value = ascColumn;
                parameters[5].Value = bitOrderType;
                parameters[6].Value = pkColumn;
                parameters[7].Value = pageSize;
                return SqlHelper.ExecuteDataset(BaseConfig.ConnStr_SD, CommandType.StoredProcedure, "[PrcPager]", parameters);
            }
      

  3.   

    存储过程 和一般的Sql语句 差不多,都可以用 DataCommand来执行
      

  4.   

    分页存储过程调用
    using (SqlConnection sqlCon = new SqlConnection(""))
    {
    sqlCon.Open();
    sqlComm = new SqlCommand("", sqlCon);
    sqlComm.CommandType = CommandType.StoredProcedure;sqlComm.Parameters.Add("@tblName ", SqlDbType.VarChar,200);
    sqlComm.Parameters.Add("@fldName ", SqlDbType.VarChar, 200);
    sqlComm.Parameters.Add("@pageCountint ", SqlDbType.int);
    ...
    sqlComm.Parameters["@pageCountint "].Direction = ParameterDirection.Output;
    sqlComm.Parameters["@tblName "].Value = "";
    sqlComm.Parameters["@fldName "].Value = "";
    ...
    sqlComm.ExecuteNonQuery();
    strng c= sqlComm.Parameters["@pageCountint "].Value.ToString();
    }
    http://topic.csdn.net/u/20091204/21/722689e1-7824-497c-b709-4b1118264633.html
      

  5.   

    用SqlCommand ,加入参数,然后ExecuteNonQuery就ok了      using (SqlConnection myConnection = new SqlConnection(connectionString))
                {
                    // 调用分页
                    SqlDataAdapter myCommand = new SqlDataAdapter("GetPagingData", myConnection);                myCommand.SelectCommand.CommandType = CommandType.StoredProcedure;
                    myCommand.SelectCommand.Parameters.Add(new SqlParameter("@tablename", SqlDbType.NVarChar));
                    myCommand.SelectCommand.Parameters["@tablename"].Value = pager.TableName;
                    myCommand.SelectCommand.Parameters.Add(new SqlParameter("@fieldlist", SqlDbType.NVarChar));
                    myCommand.SelectCommand.Parameters["@fieldlist"].Value = pager.SelectStr;                SqlParameter parameterOrder = new SqlParameter("@orderfield", SqlDbType.NVarChar);
                    parameterOrder.Value = pager.Order;
                    myCommand.SelectCommand.Parameters.Add(parameterOrder);                SqlParameter parameterOrderType = new SqlParameter("@ordertype", SqlDbType.Bit);
                    parameterOrderType.Value = pager.OrderType == true ? 0 : 1;
                    myCommand.SelectCommand.Parameters.Add(parameterOrderType);                myCommand.SelectCommand.Parameters.Add(new SqlParameter("@keyfield", SqlDbType.NVarChar));
                    myCommand.SelectCommand.Parameters["@keyfield"].Value = pager.KeyField;                myCommand.SelectCommand.Parameters.Add(new SqlParameter("@pageindex", SqlDbType.Int));
                    myCommand.SelectCommand.Parameters["@pageindex"].Value = pager.PageIndex - 1;                myCommand.SelectCommand.Parameters.Add(new SqlParameter("@pagesize", SqlDbType.Int));
                    myCommand.SelectCommand.Parameters["@pagesize"].Value = pager.PageSize;                myCommand.SelectCommand.Parameters.Add(new SqlParameter("@strwhere", SqlDbType.NVarChar));
                    myCommand.SelectCommand.Parameters["@strwhere"].Value = pager.WhereCondition;                myCommand.SelectCommand.Parameters.Add(new SqlParameter("@RecordCount", SqlDbType.Int));
                    myCommand.SelectCommand.Parameters["@RecordCount"].Direction = ParameterDirection.Output;                myCommand.SelectCommand.Parameters.Add(new SqlParameter("@PageCount", SqlDbType.Int));
                    myCommand.SelectCommand.Parameters["@PageCount"].Direction = ParameterDirection.Output;                DataSet ds = new DataSet();
                    myCommand.Fill(ds, "pager");
                    pager.RecordCount = (int)myCommand.SelectCommand.Parameters["@RecordCount"].Value;
                    pager.PageCount = (int)myCommand.SelectCommand.Parameters["@PageCount"].Value;
                    myConnection.Close();
                    return ds.Tables["pager"];
                }
            }