ADO如何取得資料庫中表的字段資訊

2021-04-13 02:55:46 字數 3091 閱讀 6227

若要取得資料庫中表的字段資訊,由以下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")

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的資料值。

&h00000100:此欄位包括自動編號的識別碼。

&h00000200:此欄位包括日期時間。

&h00001000:此欄位使用cache。 

SQL獲得資料庫中表與字段資訊

select table name from information schema.tables order by table name select column name,ordinal position,data type,character maximum length from infor...

mysql取得資料庫所有表名和字段注釋

1 取字段注釋 select column name 列名,data type 字段型別,column comment 字段注釋 from information schema.columns where table name companies 表名 and table schema testhu...

mysql取得資料庫所有表名和字段注釋

1 取字段注釋 select column name 列名,data type 字段型別,column comment 字段注釋 from information schema.columns where table name companies 表名 and table schema testhu...