以文本方式查看主题 - 咿思舞论坛 (http://bbs.145829.com/index.asp) -- 『网站资源』 (http://bbs.145829.com/list.asp?boardid=8) ---- ADO如何取得数据库中表的字段信息之一 (http://bbs.145829.com/dispbbs.asp?boardid=8&id=165) |
-- 作者:ysw829 -- 发布时间:2009/8/21 16:02:09 -- ADO如何取得数据库中表的字段信息之一 若要取得数据库中表的字段信息,由以下recordset对象的属性可得知: actualsize属性:字段的实际大小。 definedsize属性:定义字段的大小。 type属性:字段类型,使用以下数字代表之: 文字text:200 日期时间date:135 整数int/识别码:3 单精准度:4 双精准度:5 备注memo:201 是否yes/no:17 name属性:字段名称。 numericscale属性:字段小数部份的位数。 precision属性:字段的整数和小数位数部份加起来的最多位数。 取得数据库中表的字段信息例子 让我们看一个在asp程式码当中使用actualsize/definedsize/ type/name/numericscale/precision的例子。 譬如asp程式码rs2.asp如下: <% set conn1 = server.createobject("adodb.connection") conn1.open "dbq="& server.mappath("ntopsamp.mdb") &";driver={microsoft access driver (*.mdb)};driverid=25;fil=ms access;" set rs1 = server.createobject("adodb.recordset") rs1.open "产品",conn1,1,3 response.write "text<br>" response.write "actualsize: " & rs1("名称").actualsize & "<br>" response.write "definedsize: " &rs1("名称").definedsize & "<br>" response.write "type: " & rs1("名称").type & "<br>" response.write "name: " & rs1("名称").name & "<br>" response.write "numericscale: " & rs1("名称").numericscale & "<br>" response.write "precision: " & rs1("名称").precision & "<p>" response.write "date<br>" response.write "actualsize: " & rs1("日期").actualsize & "<br>" response.write "definedsize: " & rs1("日期").definedsize & "<br>" response.write "type: " & rs1("日期").type & "<br>" response.write "name: " & rs1("日期").name & "<br>" response.write "numericscale: " & rs1("日期").numericscale & "<br>" response.write "precision: " & rs1("日期").precision & "<p>" response.write "int/识别码<br>" response.write "actualsize: " & rs1("价格").actualsize & "<br>" response.write "definedsize: " & rs1("价格").definedsize & "<br>" response.write "type: " & rs1("价格").type & "<br>" response.write "name: " & rs1("价格").name & "<br>" response.write "numericscale: " & rs1("价格").numericscale & "<br>" response.write "precision: " & rs1("价格").precision & "<p>" response.write "memo<br>" response.write "actualsize: " & rs1("备注").actualsize & "<br>" response.write "definedsize: " & rs1("备注").definedsize & "<br>" response.write "type: " & rs1("备注").type & "<br>" response.write "name: " & rs1("备注").name & "<br>" response.write "numericscale: " & rs1("备注").numericscale & "<br>" response.write "precision: " & rs1("备注").precision & "<p>" response.write "yes<br>" response.write "actualsize: " & rs1("删除").actualsize & "<br>" response.write "definedsize: " & rs1("删除").definedsize & "<br>" response.write "type: " & rs1("删除").type & "<p>" %> 以上的 asp程式码rs2.asp,於用户端使用浏览器,浏览执行的结果,显示各字段的字段信息,包括字段实际大小(actualsize)、定义的字段大小(definedsize)、字段类型(type)、字段名称(name)、字段小数部份的位数(numericscale)、整数和小数位数最多位数(precision)等。 attributes/state属性 若要取得更详细的数据库中表的字段信息,譬如此字段是否包括固定长度的资料、可接受null的资料值、是否为自动编号的识别码等,由以下recordset对象的属性可得知: field对象的attributes属性:代表字段的状态,由以下值相加: &h00000002:此字段为memo类型。 &h00000004:此字段可写入资料。 &h00000008:不确定此字段是否可写入资料。 &h00000010:此字段包括固定长度的资料。 &h00000020:此字段可接受null的资料值。 &h00000040:可能读取到此字段为null的资料值。 &h00000080:此字段为长位元(long binary)字段,可使用appendchunk和getchunk方法。 &h00000100:此字段包括自动编号的识别码。 &h00000200:此字段包括日期时间。 &h00001000:此字段使用cache。 |