CREATE   PROCEDURE     UP_GetRecordByPage 
@TableName VARCHAR(200),     --表名
    @FieldList VARCHAR(2000),    --显示列名
    @PrimaryKey VARCHAR(100),    --单一主键或唯一值键
    @Where VARCHAR(1000),        --查询条件 不含'where'字符
    @Order VARCHAR(1000),        --排序 不含'order by'字符,如id asc,userid desc,当@SortType=3时生效
    @SortType INT,               --排序规则 1:正序asc 2:倒序desc 3:多列排序
    @RecorderCount INT,          --记录总数 0:会返回总记录
    @PageSize INT,               --每页输出的记录数
    @PageIndex INT,              --当前页数
    @TotalCount INT OUTPUT,      --返回记录总数
    @TotalPageCount INT OUTPUT   --返回总页数
.......然后 我调用这个存储过程需要  传神马参数呢? SqlParameter[] parameters = {
new SqlParameter("@TableName", “SystemLogList”),
new SqlParameter("@FieldList", “*”),
new SqlParameter("@PrimaryKey", “LogID”),
                                              new SqlParameter("@Where", “”),
                                              new SqlParameter("@Order", “LogId”),
                                              new SqlParameter("@SortType", 3),
                                              new SqlParameter("@RecorderCount", 1),
new SqlParameter("@PageIndex", 10),
                                              new SqlParameter("@PageSize", 1),
};
这些参数 够吗?  话说他报错 无法将 String 转为 Int 是神马情况?

解决方案 »

  1.   

    在存储过程设计到拼接sql字符串操作了
    在给字符串中某些参数赋值的时候,参数类型不符合,在拼接的时候将int类型转化为string类型就可以了
      

  2.   

    SqlParameter[] parameters = {
                        new SqlParameter("@EmpName", SqlDbType.NVarChar,50),
                        new SqlParameter("@Gender", SqlDbType.Bit),
                        new SqlParameter("@ProvinceID", SqlDbType.NVarChar,50)在后面加上你的类型!
      

  3.   

    参数问题  解决了,
    还有 我调用一个存储过程  返回一个 DataSet 如何设置 DataGridView 的 数据源 为这个 DataSet 呢?
      

  4.   

    DataGridView.DataSource = DataSet.Table[0]