易截截图软件、单文件、免安装、纯绿色、仅160KB

读取Access的表名及列名

读取Access的表名及列名
使用c#获取access中所有表的表名与内容2009-04-24 15:43以前在网上查过,似乎也可以通过读取access系统表的方法来获得,但是实在想不想来是什么,今天又在网上找了找,终于发现更加方便的方法,更重要的是,这种方法也可以通用所有OLEDB数据源。
这里用到了OleDbConnection两个方法:
GetSchema
GetOleDbSchemaTable
看MSDN的帮助,写的很不清楚,还是用代码来说话吧。
1、获取OLEDB连接的架构
conn.Open(); DataTable cnSch = conn.GetSchema();
返回的结果为一个DataTable,如下:
MetaDataCollections 0 0
DataSourceInformation 0 0
DataTypes 0 0
Restrictions 0 0
ReservedWords 0 0
Columns 4 4
Indexes 5 4
Procedures 4 3
Tables 4 3
Views 3 3
(列名复制不过来,图又没办法贴,就这样意思一下吧)
2、然后可以指定读取其中的内容,比如读取所有表的信息。
DataTable tbl = conn.GetSchema("tables"); dgv1.DataSource = tbl;
返回的结果如下:
TABLE_NAME TABLE_TYPE
detail TABLE
detail1 TABLE
mainTask TABLE
MSysAccessStorage ACCESS TABLE
MSysAccessXML ACCESS TABLE
MSysACEs SYSTEM TABLE
MSysNavPaneGroupCategories ACCESS TABLE
MSysNavPaneGroups ACCESS TABLE
MSysNavPaneGroupToObjects ACCESS TABLE
MSysNavPaneObjectIDs ACCESS TABLE
MSysObjects SYSTEM TABLE
MSysQueries SYSTEM TABLE
MSysRelationships SYSTEM TABLE
Query1 VIEW
TagAccessLog TABLE
testDetail TABLE
testLog TABLE
testMain TABLE
testTask TABLE
3、继续,读取某张表的列信息,比如读取mainTask表的信息:
DataTable colTbl = conn.GetSchema("columns", new string[] { null, null, "mainTask" }); dgvCn.DataSource=colTbl;
返回结果部分列内容:
TABLE_NAME COLUMN_NAME
mainTask catalog
mainTask content
mainTask crdate
mainTask Emergency
mainTask endDate
mainTask fnrate
mainTask level
mainTask mainID
mainTask startDate
mainTask tags
mainTask title
mainTask memo
mainTask memo2
4、然后可以尝试用另一个方法来读取表信息:
DataTable tblSch = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); DataView view = tblSch.DefaultView; view.RowFilter = "table_type='table' or table_type='view'"


相关文档:

Access Insert Into 语法错误 集锦(不断更新中...)

最近在做Access的一个项目,总是莫名其妙的提示:“Insert Into 语法错误”,这样的信息总给人带来很多麻烦,有时候为了这样一个错误要找好久才能解决问题,"Insert Into 语法错误"这个提示本身包含的信息量很少,在跟踪堆栈中有找不到更详细的信息,为了避免大家在开发的过程中遇到同样的错误和困扰。通过查找和 ......

VB.NET压缩ACCESS数据库

'创建数据库
  Private Sub Create(ByVal mdbPath As String)
        If File.Exists(mdbPath) Then
            Throw New Exception("目标数据库已经存在,无法创建")
        ......

得到access表字段名VBS脚本

 
set adoCN   =createobject("ADODB.CONNECTION")
set strCnn  =createobject("ADODB.Recordset")    
set rstSchema   =createobject("ADODB.Recordset")
  Dim   I   
dim n
        str1 ......

JSP连接ACCESS数据库的简单代码

连接ACCESS数据库的简单JSP代码:
  <%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@ page import="java.sql.*" %>
<%
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
String url="jdbc:odbc:Driver={MicroSoft Access Drive ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号