SQL SERVER是支持这种方法的,而且上述语句在SQLSERVER中是可以正确执行的,不知道为什么到了程序中执行就是老报错。郁闷中...
请问楼上提到的先连接好是指怎么操作?如果有比较好的解决方案的是否可以提出些建议?

解决方案 »

  1.   

    还是应该分别建立连接。OleDbConnection oleConn=new OleDbConnection(...);
     
    strSQL="SELECT yourField FROM yourTable";
    OleDbCommand oCmd=new OleDbCommand(strSQL,oleConn);
    OleDbDataReader dr;
    dr=oCmd.ExceuteReader();SQLConnection sqlConn=new SQLConnection(...);
    SQLDataAdapter sda=new SQLDataAdapter(strSQL,sqlConn);
    SQLCommandBuilder scb=new SQLCommandBuilder(sda);
    DataSet ds;
    sda.Fill(ds,yourTable);DataRow dRow;
    Int32 i;
    while(dr.Read())
    {
        for(i=0;i<dr.FieldCount;i++)
            dRow(i)=dr.GetString(i)     //if your FieldTypes are all String
        ds.Tables(0).Add(dRow)
    }
     
      

  2.   

    是不是你对那个数据库.MDB文件设置了什么读写权限.
      

  3.   

    MDB文件没有任何读写权限。可为什么在程序中不可以实现这个功能呢?但在SQL的查询分析器中却可以。奇怪,郁闷!!!!!难道没有人知道这个问题吗?
      

  4.   

    这样,你在acess所在的那个目录上设置一下权限:
    右键文件夹->属性->安全->添加aspnet用户,给他写的权限
      

  5.   

    不应该存在这样的问题,我在做一个CS结构的程序,而且我说了在SQLSERVER中可以正确执行。谢谢楼上的。
    到底还有没有人知道这个问题呀?