Public conn As New ADODBConnection
Public Rs As New ADODBRecordset
Public db As String
Private sSQL As String
Private Sub Form1_Load(ByVal sender As SystemObject, ByVal e As SystemEventArgs) Handles MyBaseLoad
db = "C:\Documents and Settings\ws01\デスクトップ\新しいフォルダ\WindowsApplication1\db1mdb"
db = "Provider=MicrosoftJetOLEDB40;Persist Security Info=False;Data Source=" & db
connCursorLocation = ADODBCursorLocationEnumadUseClient
connOpen(db)
Rs = connOpenSchema()
End Sub
给你一个获取一个数据表全部字段名的代码,其余你自己琢磨吧(不清楚你的数据表结构):
RSOpen "SELECT FROM zd_lx",conn,1,2
Set FID=RSFields
For EACH FID In RSFields
KK(i)=FIDName
i=i+1
Next
<%
function fieldType(e)
select case etype
case "2"
fieldType="整型"
case "3"
fieldType="长整型"
if eAttributes="90" then fieldType="自动编号"
case "6"
fieldType="货币"
case "11"
fieldType="是/否"
case "7"
fieldType="日期/时间"
case "202"
fieldType="文本("&eDefinedSize&")"
case "203"
fieldType="备注"
case "205"
fieldType="OLE 对象"
case else
fieldType="未知"
end select
end function
%>
上面的不全,还可以自己添加
假设已经打开了数据集rs
<%for each cols in rsfields%>
<%=colsname&"["&fieldType(cols)&"]"%><br /><%next%>
我用了ADO来连接Access数据库,然则,我却无法读去Access的表的字段的标题(Caption),只能获得字段的名称,结不雅如许使得的我很麻烦,请问有没有什么办法能实现攫取标题?
//fileName是你的文件名(含路径),tableName是你的表名
string accessConnection = "Provider=MicrosoftJetOLEDB40;Data Source=" + fileName;
OleDbConnection connection = new OleDbConnection(accessConnection);
connectionOpen();
DataTable schemaColumns = connectionGetOleDbSchemaTable(OleDbSchemaGuidColumns, new string[] { null, null, tableName, null });
DataTable primaryKeys = connectionGetOleDbSchemaTable(OleDbSchemaGuidPrimary_Keys, new string[] { null, null, tableName });
connectionClose();
foreach(DataRow row in schemaColumnsRows)
{
// row["COLUMN_NAME"]ToString() 便是column名称
}
foreach(DataRow row in primaryKeysRows)
{
// row["COLUMN_NAME"]ToString() 便是主键的column名称,如果你只想选第一个主键,可以用primaryKeysRows[0]["COLUMN_NAME"]ToString()
}
代码如下:
import javasqlConnection;
import javasqlDriverManager;
import javasqlResultSet;
import javasqlPreparedStatement;
import javasqlResultSetMetaData;
import javasqlSQLException;
public class TestDemo {
public static Connection getConnection() {
Connection conn = null;
try {
ClassforName("commysqljdbcDriver");
String url = "jdbc:mysql://数据库IP地址:3306/数据库名称";
String user = "数据库用户名";
String pass = "数据库用户密码";
conn = DriverManagergetConnection(url, user, pass);
} catch (ClassNotFoundException e) {
eprintStackTrace();
} catch (SQLException e) {
eprintStackTrace();
}
return conn;
}
public static void main(String[] args) {
Connection conn = getConnection();
String sql = "select from AccessType";
PreparedStatement stmt;
try {
stmt = connprepareStatement(sql);
ResultSet rs = stmtexecuteQuery(sql);
ResultSetMetaData data = rsgetMetaData();
for (int i = 1; i <= datagetColumnCount(); i++) {
// 获得所有列的数目及实际列数
int columnCount = datagetColumnCount();
// 获得指定列的列名
String columnName = datagetColumnName(i);
// 获得指定列的列值
int columnType = datagetColumnType(i);
// 获得指定列的数据类型名
String columnTypeName = datagetColumnTypeName(i);
// 所在的Catalog名字
String catalogName = datagetCatalogName(i);
// 对应数据类型的类
String columnClassName = datagetColumnClassName(i);
// 在数据库中类型的最大字符个数
int columnDisplaySize = datagetColumnDisplaySize(i);
// 默认的列的标题
String columnLabel = datagetColumnLabel(i);
// 获得列的模式
String schemaName = datagetSchemaName(i);
// 某列类型的精确度(类型的长度)
int precision = datagetPrecision(i);
// 小数点后的位数
int scale = datagetScale(i);
// 获取某列对应的表名
String tableName = datagetTableName(i);
// 是否自动递增
boolean isAutoInctement = dataisAutoIncrement(i);
// 在数据库中是否为货币型
boolean isCurrency = dataisCurrency(i);
// 是否为空
int isNullable = dataisNullable(i);
// 是否为只读
boolean isReadOnly = dataisReadOnly(i);
// 能否出现在where中
boolean isSearchable = dataisSearchable(i);
Systemoutprintln(columnCount);
Systemoutprintln("获得列" + i + "的字段名称:" + columnName);
Systemoutprintln("获得列" + i + "的类型,返回SqlType中的编号:"+ columnType);
Systemoutprintln("获得列" + i + "的数据类型名:" + columnTypeName);
Systemoutprintln("获得列" + i + "所在的Catalog名字:"+ catalogName);
Systemoutprintln("获得列" + i + "对应数据类型的类:"+ columnClassName);
Systemoutprintln("获得列" + i + "在数据库中类型的最大字符个数:"+ columnDisplaySize);
Systemoutprintln("获得列" + i + "的默认的列的标题:" + columnLabel);
Systemoutprintln("获得列" + i + "的模式:" + schemaName);
Systemoutprintln("获得列" + i + "类型的精确度(类型的长度):" + precision);
Systemoutprintln("获得列" + i + "小数点后的位数:" + scale);
Systemoutprintln("获得列" + i + "对应的表名:" + tableName);
Systemoutprintln("获得列" + i + "是否自动递增:" + isAutoInctement);
Systemoutprintln("获得列" + i + "在数据库中是否为货币型:" + isCurrency);
Systemoutprintln("获得列" + i + "是否为空:" + isNullable);
Systemoutprintln("获得列" + i + "是否为只读:" + isReadOnly);
Systemoutprintln("获得列" + i + "能否出现在where中:"+ isSearchable);
}
} catch (SQLException e) {
eprintStackTrace();
}
}
}
1连接Access数据库代码!版本 2
支持库 eDB 如果 (数据库连接连接Access (MDB数据库, “”) = 真)
记录集置连接 (数据库连接)
排序条件 = “字段,表名,条件”
如果 (记录集打开并排序 (MDB数据表, 排序条件) = 真) 否则 销毁 ()
2填充树形框字段到父项目代码!版本 2
支持库 eDB
支持库 iext局部变量 分类变量, 文本型
局部变量 树项目总数, 整数型
局部变量 树循环循环, 整数型
局部变量 临时项目文本, 文本型
局部变量 是否存在重复, 整数型
记录集到首记录 ()
判断循环首 (记录集尾记录后 = 假)
记录集读文本 (“字段”, 分类变量)
树项目总数 = 树型框取项目数 ()
如果 (树项目总数 = 0)
树型框加入项目 (, 分类变量, , , )
否则
计次循环首 (树项目总数, 树循环循环)
临时项目文本 = 树型框取项目文本 (树循环循环 - 1)
如果 (临时项目文本 = 分类变量)
是否存在重复 = 1
跳出循环 ()
否则
是否存在重复 = 0
如果结束
树循环循环 = 树循环循环 + 1
计次循环尾 ()
如果真 (是否存在重复 = 0)
树型框加入项目 (, 分类变量, , , )
如果真结束 如果结束 记录集到下一条 ()
判断循环尾 ()
3填充表名到树形框子项目并过滤树形框存在的重复项!版本 2
支持库 iext
支持库 eDB局部变量 原项目变量, 整数型
局部变量 原项目循环, 整数型
局部变量 项目数组, 文本型, , "0"
局部变量 原项目文本, 文本型
局部变量 新项目变量, 整数型
局部变量 新项目循环, 整数型
局部变量 新项目文本, 文本型
局部变量 新项目标题, 文本型
局部变量 过滤语句, 文本型
局部变量 文本数组, 文本型, , "0"
局部变量 文本变量, 文本型
局部变量 数组成员, 整数型
局部变量 数组循环, 整数型
局部变量 次数数量, 整数型
局部变量 项目变量, 整数型
局部变量 循环变量, 整数型
局部变量 次数循环, 整数型
原项目变量 = 树型框取项目数 ()
原项目循环 = 1
计次循环首 (原项目变量, 原项目循环)
加入成员 (项目数组, 树型框取项目文本 (原项目循环 - 1))
计次循环尾 ()
数组成员 = 取数组成员数 (项目数组)原项目文本 = 项目数组 [数组循环]
过滤语句 = “字段” + “=” + “'” + 原项目文本 + “'”
如果 (记录集过滤记录 (过滤语句) = 真)
次数数量 = 记录集记录数量
清除数组 (文本数组)
计次循环首 (次数数量, 次数循环)
记录集读文本 (“表名称”, 文本变量)
加入成员 (文本数组, 文本变量)
次数循环 = 次数循环 + 1
记录集到下一条 ()
计次循环尾 ()
项目变量 = 树型框取项目数 ()
计次循环首 (项目变量, 循环变量)
树型框置项目数值 (循环变量 - 1, 循环变量)
计次循环尾 ()否则
以上就是关于用VB.NET连接ACCESS取出ACCESS中的所有表名和字段名全部的内容,包括:用VB.NET连接ACCESS取出ACCESS中的所有表名和字段名、vb如何获取access中有数据那一列的字段名、用SQL语句怎么查询access 数据库中的表字段名称。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)