.Fill(ds,"Table1");
.Fill(ds,"Table2");
……

解决方案 »

  1.   


    OleDbConnection myConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\iSBSMS.mdb");
    myConnection.Open();
    string mySelectText = "SELECT CityID, CityName FROM City;SELECT ProvinceID, ProvinceName FROM Province";
    OleDbDataAdapter da=new OleDbDataAdapter (mySelectText,myConnection );
    DataSet ds=new DataSet ();
    da.Fill (ds);
    comboBox1.DataSource  =ds.Tables [0];
    comboBox1 .DisplayMember ="CityName";
      

  2.   

    把sql中的“;”替换成空格试试
      

  3.   

    如果是约束错误的话,换一下顺序。
    SELECT ProvinceID, ProvinceName FROM Province SELECT CityID, CityName FROM City
    上面的代码好象没什么问题
      

  4.   

    在sql server2000 中语句之间允许有";",但不知道access行不行
      

  5.   

    我把关系去掉了,还是不行。有没有人在access中返回多个数据表。
      

  6.   

    access的语法能不能通过,你在access里面执行以下查询语句,可能不能像sql server一样写。
      

  7.   

    第一次Fill以后重新设置adapter的selectcommand重新fill一次
      

  8.   

    OleDbConnection myConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\iSBSMS.mdb");
    myConnection.Open();
    string mySelectText = "SELECT CityID, CityName FROM City";
    OleDbDataAdapter da=new OleDbDataAdapter (mySelectText,myConnection );
    DataSet ds=new DataSet ();
    //da.MissingSchemaAction =MissingSchemaAction.AddWithKey ;
    da.Fill (ds);
    mySelectText ="SELECT ProvinceID, ProvinceName FROM Province";
                OleDbCommand cmd=new OleDbCommand (mySelectText,myConnection);
    da.SelectCommand=cmd;
    da.Fill (ds);
    comboBox1.DataSource  =ds.Tables [0];
    comboBox1 .DisplayMember ="CityName";
    comboBox2.DataSource  =ds.Tables [1];
    comboBox2 .DisplayMember ="ProvinceName";
    重新fill后找不到表1.