SqlCommand cmd = CreateCommand(procName, prams);
dataReader = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
用什么命令使其保存在dataset或datatable中呢?我实在是不知道呀。

解决方案 »

  1.   

    SqlCommand cmd = CreateCommand(procName, prams);
    SqlDataAdapter DA = new SqlDataAdapter(cmd);
    DA.Fill(cmd,"tablenames");
      

  2.   

    DataSet ds=new DataSet();
    SqlDataAdapter da=new SqlDataAdapter("GetUserDutybyID",conn);
    da.SelectCommand.CommandType=CommandType.StoredProcedure;
    da.SelectCommand.Parameters.Add(new SqlParameter("@id",SqlDbType.Int));
    da.SelectCommand.Parameters["@id"].Value=id ;
    da.Fill(ds,"id");
      

  3.   

    返回值(不是数据集)是要用 return 的。 比如返回 1 
    同意楼上,无论你是用 READER还是DATASET都一样。
      

  4.   

    我是说如何把cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection)的值保存在dataset或datatable中呢?用cmd.ExecuteReader命令肯定不行,那用cmd的什么命令呢?
      

  5.   

    应该没有直接cmd.来得到DataSet的,用DataAdapter来得到DataSet吧。
      

  6.   

    那用DataAdapter如何执行存储过程呢?
      

  7.   

    你可以
    1、建立一个空的DataAdapter
    DataAdapter da=new DataAdapter();
    2、准备好基于存储过程的命令对象
    Cmd
    3、把命令对象指定给DataAdapter的SelectCommand
    da.SelectCommand=Cmd;
    4、新生建一个DataTable
    DataTable dt=new DataTable();
    5、填充
    da.Fill(dt);//好了