我要在DataSet中填充两张表,第一张表填充成功,第二张表填充失败,有未处理的异常,代码如下:OleDbConnection conn = new OleDbConnection(strConn)
OleDbDataAdapter adpt = new OleDbDataAdapter("select * from STUDENT.DBF", conn);
DataSet ds = new DataSet();
adpt.Fill(ds, "STUDENT");
adpt = new OleDbDataAdapter("select from TEACHER.DBF", conn);
adpt.Fill(ds, "TEACHER");
conn.Close();倒数第二行代码抛出未处理异常,看不懂是什么原因
OleDbException was unhandled
SQL: Statement is invalid.并不是第二张表有问题,我试了下先查teacher再查student仍然是倒数第二行代码抛出同样的未处理异常,第一张表正常。谢谢~

解决方案 »

  1.   

    再定义一个新的OleDbDataAdapter。
    比如:adpts = new OleDbDataAdapter("select from TEACHER.DBF", conn);
    adpts.Fill(ds, "TEACHER");这个 应该跟OleDbDataAdapter具体实现机制有关系吧 暂时还不懂 坐等高手解释.
      

  2.   

    话说 你那SQL 么问题?select * from TEACHER.DBF 
      

  3.   


    TEACHER.DBF 是Visual Foxpro数据库的一张表,从表中取出所有内容难道不是这么说吗?
      

  4.   

    那如果是SQL Server中的某个数据库(以示例数据库Northwind为例),要把所有表的内容填充到DataSet中,最快速效率最高的方法是什么?代码应该怎么写呢?
      

  5.   


    试了一下一楼的方法,改为:
    OleDbDataAdapter adpt1 = new OleDbDataAdapter("select * from STUDENT.DBF", conn);
    DataSet ds = new DataSet();
    adpt1.Fill(ds, "STUDENT");
    OleDbDataAdapter adpt2 = new OleDbDataAdapter("select from TEACHER.DBF", conn);
    adpt2.Fill(ds, "TEACHER");仍然在相同的地方报相同的错误
      

  6.   

    dataset只能填充一次,可以用clone()方法,或者先定义两个dataset分别接受后再合并的模式。
      

  7.   

    OleDbConnection conn = new OleDbConnection(strConn)
    OleDbDataAdapter adpt = new OleDbDataAdapter("select * from STUDENT.DBF", conn);
    DataSet ds = new DataSet();
    adpt.Fill(ds, "STUDENT");
    adpt.SelectCommand.CommandText="select from TEACHER.DBF";
    adpt.Fill(ds, "TEACHER");
      

  8.   

    DataAdapter的构造函数好像有 Command 吧。。COmmand可以执行多条SQL。。 可以执行多个Select。你试一下,告诉我结果。。
      

  9.   

     SqlCommand cmd = new SqlCommand();
      cmd.CommandText ="select * from STUDENT.DBF";
     cmd.Connection = strConn;
     obj = cmd.ExecuteScalar(); 
    DataSet ds = new DataSet();
    adpt.Fill(ds, "STUDENT");
     cmd.CommandText = ="select * from TEACHER.DBF";
    cmd.ExecuteNonQuery();
    adpt.Fill(ds, "TEACHER");
      

  10.   

    adpt = new OleDbDataAdapter("select from TEACHER.DBF", conn);
    SQL 有问题
      

  11.   

    无语了,我把数据库改成SQL Server用最开始的代码就可以正常运行,为什么类?
    SqlDataAdapter adpt = new SqlDataAdapter("select * from tb_Student", conn);
    DataSet ds = new DataSet();
    adpt.Fill(ds, "tb_Student");
    adpt = new SqlDataAdapter("select * from tb_Teacher", conn);
    adpt.Fill(ds, "tb_Teacher");
    各位高手能解释下吗?谢谢