我用SQL语句: SELECT MSysObjects.Name FROM MSysObjects WHERE ((Left([name],4)<>"MSys") AND ((MSysObjects.Type)=1)) ORDER BY MSysObjects.Name; 
在Access里面能正确执行,并且我把表MSysObjects的所有者改成了管理员,能执行读写权限, 
在C#里面,用adpter.Fill(dataSet);时总是出错,这是什么原因呢? 提示: 
未处理的“System.Data.OleDb.OleDbException”类型的异常出现在 system.data.dll 中。 代码如下: 
string cmdTxt="SELECT MSysObjects.Name FROM MSysObjects WHERE ((Left([name],4)<>'MSys') AND ((MSysObjects.Type)=1)) ORDER BY MSysObjects.Name"; 
         Adapter=new OleDbDataAdapter(cmdTxt,_Con); 
         dataSet=new DataSet(); 
         Adapter.Fill(dataSet); 
我用OleDbConnection's GetOleDbSchemaTable method也会有同样的的错误,请问我该怎么办才能读取Access里面的所有表呢? 谢谢各位!