2024年4月15日发(作者:)

获取数据库表名、库名、字段名的方法及Fields集合及OpenSchema方法

使用技巧

dadaV20160220

获取字段名

field对象又称字段对象,是recordset的子对象。通过field对象可以动态获得字段的相

关信息。

fields集合中的每一个元素都是一个field对象,一个field对象,对应的事recordset数据

集合中的一个,也就是一个字段。

通过ASP来看一个数据表的结果,要实现这样的功能,就要用到recordset对象的field

集合。

fields属性如下:

Name:字段名

value:字段值

type:字段类型

precision:字段允许最大字数

变量=//获得集合中包含的field对象数目

h//重新获得fields数据集合中包含的field对象

setfield=(index);注:index:0~count-1//得到一个field集合

等效于:setfield=(index)

例:

表示你建立的RecordSet对象字段数;

(i).name是指你建立的Rs记录表中第i个字段的名称(从0开始,i为1时

指第2个字段名);

应用:(假设rs已经建立):

"user",conn,1,1

fori=-1

"第"&(i+1)&"个字段名是:"(i).name&"

"

next

获取表名

OpenSchema方法可返回有关数据源的模式信息(比如:表的名称,表中的列名,每列的

数据类型);OpenSchema方法Recordset将以只读、静态游标模式打开。

例:

<%

Set rs=hema(20)

Do Until

If rs(3)="TABLE" Then

"表名:"&rs(2)&"
"

End If

xt

Loop

Set rs=Nothing

'OpenSchema(20)方法将返回表的目录(TABLE_CATALOG)、模式(TABLE_SCHEMA)、表名

(TABLE_NAME)、数据类型(TABLE_TYPE)的对象,并且由这些名称、表中的列名、每列的

数据类型形成Recordset集合;

'rs(0)对应表的目录(TABLE_CATALOG)值;rs(1)→模式(TABLE_SCHEMA);rs(2)→表名

(TABLE_NAME);rs(3)→数据类型(TABLE_TYPE);

恶补rs(0)与rs("字段名")含义!

rs(0)是按SQL语句读出来的记录集的先后顺序命名的,rs(0)就是你select出来的第一个记录集。等价如下:

Selectid,name,pwdfromtable

rs(0)=rs("id")

rs(1)=rs("name")

rs(2)=rs("pwd")

Field 对象

ADO Field 对象包含有关Recordset对象中某一列的信息。Recordset中的每一列对应一个 Field 对象。

ProgID

setobjField=Object("")

属性

属性

ActualSize

Attributes

描述

返回一个字段值的实际长度。

设置或返回 Field 对象的属性。

DefinedSize

Name

返回Field 对象被定义的大小

设置或返回 Field 对象的名称。例:fields(i).name是指你建立的Rs记录表中第i个字

段的名称(从0开始,i为1时指第2个字段名)

NumericScale

设置或返回 Field 对象中的值所允许的小数位数。