代码如下:
public DataSet GetDataSet(string sqlCommand, int startindex, int num, string dataname)
{
    DataSet DS = new DataSet();
    Database db = DatabaseFactory.CreateDatabase();
    Debug.WriteLine(sqlCommand);
    DbCommand dbCommand = db.GetSqlStringCommand(sqlCommand);
    db.GetDataAdapter().Fill(DS, startindex, num, dataname);
    return DS;
}Database db = DatabaseFactory.CreateDatabase()是企业库出来的一个DB对象。
我的目的是把数据库检索出来的数据选取部分内容哦(以startindex开始数量为num)到DataSet上。

解决方案 »

  1.   

    dbCommand 实例化了吗,还有可能是dbCommand .connection 属性没有设置
      

  2.   

    DbCommand dbCommand = db.GetSqlStringCommand(sqlCommand);IDataAdapger ad = db.GetDataAdapter();
    ad.SelectCommand = dbCommand ;ad.Fill(DS, startindex, num, dataname);
      

  3.   

    没有指定Sql语句,具体可以看
    http://blog.csdn.net/zhzuo/archive/2004/08/06/67016.aspx
    http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx
      

  4.   

    可能如下:   1、sqlcommand.connection 未设置;
       2、sqlcommand.commandtext未设置;
       3、sqlcommand.commandtext语句有错误。
    LZ的问题
    我遇到的就是以上3种情况。
      

  5.   

    楼上各位。我用的是企业库。我怀疑问题是处在
    db.GetDataAdapter().Fill(DS, startindex, num, dataname);
    报错就是报在这里。
    我用Debug.WriteLine(sqlCommand);输出的语句直接在sql中查询可以得到正确的结果的connection 应该是设置了的。因为同样的以下的方法正确返回ds        public DataSet GetList()
            {
                string sqlCommand = "SELECT * FROM My_list";
                Database db = DatabaseFactory.CreateDatabase();
                Debug.WriteLine(sqlCommand);
                DbCommand dbCommand = db.GetSqlStringCommand(sqlCommand);
                return db.ExecuteDataSet(dbCommand);
            }
      

  6.   

    jianyi0115(随意) 
    IDataAdapger借口要引用哪个空间??不好意思。入门者。很少用到接口。。
      

  7.   

    原来是笔误。谢谢。。:-)是adapter。