问题描述
如果利用:SELECTCount(*)ASQtyFROMMSysObjectsWHERE(((MSysObjects.Name)Like"+tableName+"))语句,前提必须手动或者要本机设置MSysObjects数据表的可读属性。我想问一下怎么才能不需更改设置,而直接通过SQL语句得到?
解决方案
解决方案二:
怎么没有大虾回复哦,自己顶起~~
解决方案三:
///<summary>///列出指定数据库中所有的用户表///</summary>///<returns>所有的用户表列表</returns>publicArrayListonGetUserTables(){System.Collections.ArrayListtableList=newSystem.Collections.ArrayList();try{DataTabledt=connAccess.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,newobject[]{null,null,null,"TABLE"});//表目录,表纲要,表名,表类型for(inti=0;i<dt.Rows.Count;i++){tableList.Add(dt.Rows[i].ItemArray[2].ToString());}}catch(Exceptionexc){errExc=exc;}returntableList;}///<summary>///检查Access数据库中是否存在指定的表///</summary>///<paramname="tableName">要检查的表名</param>///<returns>返回true则表明此表存在,返回false刚表明此表不存在</returns>publicboolonCheckTableExist(stringtableName){boolresult=true;try{System.Collections.ArrayListtableArr=onGetUserTables();result=tableArr.Contains(tableName);}catch(Exceptionexc){errExc=exc;}returnresult;}
解决方案四:
connAccess是OleDbConnection类型