|
| | ADO如何取得资料表栏位资讯(BIG5) | | | | | | | | 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)。
|
| | | | |
| | | |
|
| |