PC6下载站

分类分类

ADO如何取得资料表栏位资讯(BIG5)

关注+2004-11-07作者:蓝点

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
"



Response.Write "ActualSize: " & rs1("名稱").ActualSize & "
"



Response.Write "DefinedSize: " &rs1("名稱").DefinedSize & "
"



Response.Write "Type: " & rs1("名稱").Type & "
"



Response.Write "Name: " & rs1("名稱").Name & "
"



Response.Write "NumericScale: " & rs1("名稱").NumericScale & "
"



Response.Write "Precision: " & rs1("名稱").Precision & "

"



Response.Write "date
"



Response.Write "ActualSize: " & rs1("日期").ActualSize & "
"



Response.Write "DefinedSize: " & rs1("日期").DefinedSize & "
"



Response.Write "Type: " & rs1("日期").Type & "
"



Response.Write "Name: " & rs1("日期").Name & "
"



Response.Write "NumericScale: " & rs1("日期").NumericScale & "
"



Response.Write "Precision: " & rs1("日期").Precision & "

"



Response.Write "int/識別碼
"



Response.Write "ActualSize: " & rs1("價格").ActualSize & "
"



Response.Write "DefinedSize: " & rs1("價格").DefinedSize & "
"



Response.Write "Type: " & rs1("價格").Type & "
"



Response.Write "Name: " & rs1("價格").Name & "
"



Response.Write "NumericScale: " & rs1("價格").NumericScale & "
"



Response.Write "Precision: " & rs1("價格").Precision & "

"



Response.Write "memo
"



Response.Write "ActualSize: " & rs1("備註").ActualSize & "
"



Response.Write "DefinedSize: " & rs1("備註").DefinedSize & "
"



Response.Write "Type: " & rs1("備註").Type & "
"



Response.Write "Name: " & rs1("備註").Name & "
"



Response.Write "NumericScale: " & rs1("備註").NumericScale & "
"



Response.Write "Precision: " & rs1("備註").Precision & "

"



Response.Write "yes
"



Response.Write "ActualSize: " & rs1("刪除").ActualSize & "
"



Response.Write "DefinedSize: " & rs1("刪除").DefinedSize & "
"



Response.Write "Type: " & rs1("刪除").Type & "

"



%>



以上的 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 "
conn1.Attributes: " & conn1.Attributes



Response.Write "
conn1.State: " & conn1.Attributes



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



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



For Each fld In rs2.Fields



Response.Write "
" & 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)。


展开全部

相关文章

更多+相同厂商

热门推荐

  • 最新排行
  • 最热排行
  • 评分最高
排行榜

    点击查看更多

      点击查看更多

        点击查看更多

        说两句网友评论

          我要评论...
          取消