站长中国
设为首页 | 站长论坛

站长论坛 站长下载
您所在的位置: 站长中国 > 站长学院 > 网络编程 > ASP专区 > 正文

ADO如何取得资料表栏位资讯(BIG5)
  2007年09月14日15:00:59  评论(1条) 字体:[ ]
相关热点:
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。
Attributes屬性也可以使用於Connection 物件,以取得資料庫連線的狀態。State屬性顯示物件的狀態:

Connection 物件的Attributes屬性:代表資料庫連線的狀態,由以下值相加,預設值為0:
&H00020000:正在呼叫CommitTrans。
&H00020000:正在呼叫RollbackTrans。
State屬性:顯示物件的狀態:
0:物件已經關閉。
1:物件已經開啟。
讓我們看一個於ASP程式碼當中使用Attributes/State屬性的例子。

譬如ASP程式碼rs17.asp如下:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

Response.Write "<BR>conn1.Attributes: " & conn1.Attributes

Response.Write "<BR>conn1.State: " & conn1.Attributes

Set rs2 = Server.CreateObject("ADODB.Recordset")

rs2.Open "產品",conn1,1,1

For Each fld In rs2.Fields

Response.Write "<BR>" & fld.Name & "=" & hex(fld.Attributes)

Next

%>

以上的 ASP程式碼rs17.asp,於用戶端使用瀏覽器,瀏覽執行的結果,For Each fld In rs2.Fields取得所有欄位的訊息。顯示:

欄位類型為文字text欄位、日期時間date 欄位、整數int欄位、備註memo欄位,為可寫入資料(&H00000004)、可接受Null的資料值(&H00000020)、可能讀取到此欄位為Null的資料值(&H00000040)。
欄位類型為日期時間date 欄位、整數int欄位,為固定長度的資料(&H00000010)。
欄位類型為備註memo欄位,為長位元(long binary)欄位(&H00000040)。

责任编辑:

收藏本文 打印 打印本文  推荐本文 告诉好友 投稿 投稿邮箱

站长排行

学院

新闻

专栏

盈利

[揭密网络黄链]中国留学生买凶专破日本
JSP语法(6)
超强弹出窗口代码,什么都挡不住
FLASH视觉特效实例之地震效果
贴吧发帖机使用教程(绝对原创)
关于数据分页(转自www.codeproject.co
ASP实现文件直接下载
Photoshop制作光感超酷效果水晶球
 遍历ASP.NET页面控件
永远的后门[经典]+查不出的后门
淘宝网卖家公然叫卖“艳照门”照片集
驳《百度Hi面世对腾讯有利》
Google绿色专家质疑黑色背景网页节省资
国内各IT企业办公环境揭秘(多图)
阿里妈妈广告卖主全攻略
站长创业源动力 主流站长站赏析
推荐阅读:80年小子的创业道理
Discuz!6.0猛将出击 最强论坛程序酷炫
我的网络,我的团队:专访李文明
百度新闻频道改版十天 流量止跌反弹翻
ECSHOP模板制作参考文档
悬挂阿里妈妈会否被百度惩罚
阿里妈妈是否是中小站长的救世主?
最强网店ECShop发新版 众多酷炫功能给
ECSHOP模板下载
土豆网,优酷网,爆米花等视频网站采集
DedeCms模板安装/制作概述
网上商店系统巅峰对决 ECShop vs ShopE
艰难的走在创业的路上 第一天
编程中国全站采集规则
性福联盟 一个不尊重站长的联盟
大脚:日赚100元—揭露最新firefox欺骗
大脚:垃圾站超级赚钱法之二—突破“站
大脚:垃圾站超级赚钱法之——前言
迅雷联盟、快车联盟收入对比
经理人必看的十个管理网站
Google Adsense的秘密 第二版
西联汇款兑付城市查询
不用SEO取得成功的10个步骤
关于做GOOGLE的五条经验
站长学院  网页设计 建站教程 图形图象 网络编程

Photoshop CS3
Photoshop CS3
不用Photoshop
不用Photoshop

DIV+CSS的开发方式 听听另外的
虚拟主机建站动易里快速生成的
VBScript特效代码 满屏幕乱跑
牛气!一个菜鸟站长的超强网站
创建、维护一个个人博客的“投
让网站流量稳步飙升的秘籍
网站推广的基本思想

新闻线索

如果你有站长界人事变动、重组并购、变革技术出现,以及产品投诉等重要新闻线索,请告诉我们,我们会给予特别关注。
0631-3653338
站长中国编辑部
站长中国24小时新闻热线: 13256307008