復制代碼 代碼如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
if Trim(Request.Form("TableName"))
'----設置 打開數據庫連接
dbs="Data Source="+server.mappath("database.mdb")+";Provider=Microsoft.Jet.OLEDB.4.0;"
set conn=server.createobject("ADODB.connection")
conn.open dbs
'定義ADOX,指定連接
set ADOX =server.createobject("ADOX.Catalog")
Set ADOX.ActiveConnection = conn
'創建Table,寫入屬性
Set objTable= Server.CreateObject("ADOX.Table")
'objTable.name="Table3"
objTable.name=Trim(Request.Form("TableName"))' 表單獲取
'objTable.parentCatalog = ADOX
'定義第一個字段
set objColumn = server.createObject("ADOX.Column")
'Set objColumn.parentCatalog = ADOX
objColumn.name="Column1"
objColumn.type=202 '數據類型202代表文本,
objColumn.Attributes=2 '1--必填字段,2--非必填
objTable.Columns.Append objColumn
set objColumn = nothing '清除第一個字段信息
'定義第二個字段
set objColumn = server.createObject("ADOX.Column")
'Set objColumn.parentCatalog = ADOX
objColumn.name="Column2"
objColumn.type=3
objColumn.Attributes=2
objTable.Columns.Append objColumn
set objColumn = nothing
ADOX.Tables.Append objTable
Set ADOX = Nothing
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>建立表格和字段</title>
<style type="text/css">
<!--
body,td,th {
font-size: 12px;
}
-->
</style></head>
<body>
<p>'使用<strong> Column</strong> 對象的屬性和集合,可以: <br />
'使用 Name 屬性標識列。<br />
'使用 Type 屬性指定列的數據類型。<br />
'使用 Attributes 屬性確定列是否為固定長度,或者是否能包含 Null 值。<br />
'使用 DefinedSize 屬性指定列的最大尺寸。<br />
'對於數字數據值,使用 NumericScale 屬性指定范圍。<br />
'對於數字數據值,使用 Precision 屬性指定最大精度。<br />
'使用 ParentCatalog 屬性指定列的父 Catalog。<br />
'對於鍵列,使用 RelatedColumn 屬性指定相關表中相關列的名稱。<br />
'對於索引列,使用 SortOrder 屬性指定排序順序是升序還是降序。</p>
<p>數據類型如下表:</p>
<TABLE border=1 cellpadding=4 cellspacing=4 cols=4 frame=box rules=all width=100%>
<TR VALIGN="top">
<TH width=32%>常量</TH>
<TH width=13%>值</TH>
<TH width=55%>說明</TH>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>AdArray<BR>
</B>(不適用於 ADOX。)</TD>
<TD class=T width=13%>0x2000
<P class=T></P>
</TD>
<TD class=T width=55%>一個標志值,通常與另一個數據類型常量組合,指示該數據類型的數組。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adBigInt</B>
<P class=T></P>
</TD>
<TD class=T width=13%>20</TD>
<TD class=T width=55%>指示一個八字節的有符號整數 (DBTYPE_I8)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adBinary</B>
<P class=T></P>
</TD>
<TD class=T width=13%>128</TD>
<TD class=T width=55%>指示一個二進制值 (DBTYPE_BYTES)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adBoolean</B>
<P class=T></P>
</TD>
<TD class=T width=13%>11</TD>
<TD class=T width=55%>指示一個布爾值 (DBTYPE_BOOL)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adBSTR</B>
<P class=T></P>
</TD>
<TD class=T width=13%>8</TD>
<TD class=T width=55%>指示以 Null 終止的字符串 (Unicode) (DBTYPE_BSTR)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adChapter</B>
<P class=T></P>
</TD>
<TD class=T width=13%>136</TD>
<TD class=T width=55%>指示一個四字節的子集值,標識子<A HREF="mddefrowset.htm">行集合</A>中的行 (DBTYPE_HCHAPTER)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adChar</B>
<P class=T></P>
</TD>
<TD class=T width=13%>129</TD>
<TD class=T width=55%>指示一個字符串值 (DBTYPE_STR)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adCurrency</B>
<P class=T></P>
</TD>
<TD class=T width=13%>6</TD>
<TD class=T width=55%>指示一個貨幣值 (DBTYPE_CY)。貨幣是一個定點數字,小數點右側有四位數字。該值存儲為八字節、范圍為 10,000 的有符號整數。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adDate</B>
<P class=T></P>
</TD>
<TD class=T width=13%>7</TD>
<TD class=T width=55%>指示日期值 (DBTYPE_DATE)。日期保存為雙精度數,數字的整數部分是從 1899 年 12 月 30 日算起的天數,小數部分是一天當中的片段時間。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adDBDate</B>
<P class=T></P>
</TD>
<TD class=T width=13%>133</TD>
<TD class=T width=55%>指示日期值 (yyyymmdd) (DBTYPE_DBDATE)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adDBTime</B>
<P class=T></P>
</TD>
<TD class=T width=13%>134</TD>
<TD class=T width=55%>指示時間值 (hhmmss) (DBTYPE_DBTIME)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adDBTimeStamp</B>
<P class=T></P>
</TD>
<TD class=T width=13%>135</TD>
<TD class=T width=55%>指示日期/時間戳(yyyymmddhhmmss 加十億分之一的小數)(DBTYPE_DBTIMESTAMP)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adDecimal</B>
<P class=T></P>
</TD>
<TD class=T width=13%>14</TD>
<TD class=T width=55%>指示具有固定精度和范圍的確切數字值 (DBTYPE_DECIMAL)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adDouble</B>
<P class=T></P>
</TD>
<TD class=T width=13%>5</TD>
<TD class=T width=55%>指示一個雙精度浮點值 (DBTYPE_R8)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adEmpty</B>
<P class=T></P>
</TD>
<TD class=T width=13%>0</TD>
<TD class=T width=55%>指定沒有值 (DBTYPE_EMPTY)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adError</B>
<P class=T></P>
</TD>
<TD class=T width=13%>10</TD>
<TD class=T width=55%>指示一個 32 位的錯誤代碼 (DBTYPE_ERROR)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adFileTime</B>
<P class=T></P>
</TD>
<TD class=T width=13%>64</TD>
<TD class=T width=55%>指示一個 64 位的值,表示從 1601 年 1 月 1 日開始的 100 個十億分之一秒間隔的數量 (DBTYPE_FILETIME)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adGUID</B>
<P class=T></P>
</TD>
<TD class=T width=13%>72</TD>
<TD class=T width=55%>指示全局唯一標識符 (GUID) (DBTYPE_GUID)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adIDispatch</B>
<P class=T></P>
</TD>
<TD class=T width=13%>9</TD>
<TD class=T width=55%>指示指向 COM 對象上 <B>IDispatch</B> 接口的指針 (DBTYPE_IDISPATCH)。
<P class=T><B>注意 </B>ADO 目前不支持這種數據類型。使用它可能導致不可預料的結果。</P>
</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adInteger</B>
<P class=T></P>
</TD>
<TD class=T width=13%>3</TD>
<TD class=T width=55%>指示一個四字節的有符號整數 (DBTYPE_I4)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adIUnknown</B>
<P class=T></P>
</TD>
<TD class=T width=13%>13</TD>
<TD class=T width=55%>指示指向 COM 對象上 <B>IUnknown</B> 接口的指針 (DBTYPE_IUNKNOWN)。
<P class=T><B>注意 </B>ADO 目前不支持這種數據類型。使用它可能導致不可預料的結果。</P>
</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adLongVarBinary</B>
<P class=T></P>
</TD>
<TD class=T width=13%>205</TD>
<TD class=T width=55%>指示一個長二進制值(僅限於 <B>Parameter</B> 對象)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adLongVarChar</B>
<P class=T></P>
</TD>
<TD class=T width=13%>201</TD>
<TD class=T width=55%>指示一個長字符串值(僅限於 <B>Parameter</B> 對象)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adLongVarWChar</B>
<P class=T></P>
</TD>
<TD class=T width=13%>203</TD>
<TD class=T width=55%>指示一個以 Null 終止的長 Unicode 字符串值(僅限於 <B>Parameter</B> 對象)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adNumeric</B>
<P class=T></P>
</TD>
<TD class=T width=13%>131</TD>
<TD class=T width=55%>指示具有固定精度和范圍的確切數字值 (DBTYPE_NUMERIC)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adPropVariant</B>
<P class=T></P>
</TD>
<TD class=T width=13%>138</TD>
<TD class=T width=55%>指示一個 Automation PROPVARIANT (DBTYPE_PROP_VARIANT)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adSingle</B>
<P class=T></P>
</TD>
<TD class=T width=13%>4</TD>
<TD class=T width=55%>指示一個單精度浮點值 (DBTYPE_R4)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adSmallInt</B>
<P class=T></P>
</TD>
<TD class=T width=13%>2</TD>
<TD class=T width=55%>指示一個雙字節的有符號整數 (DBTYPE_I2)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adTinyInt</B>
<P class=T></P>
</TD>
<TD class=T width=13%>16</TD>
<TD class=T width=55%>指示一個單字節的有符號整數 (DBTYPE_I1)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adUnsignedBigInt</B>
<P class=T></P>
</TD>
<TD class=T width=13%>21</TD>
<TD class=T width=55%>指示一個八字節的無符號整數 (DBTYPE_UI8)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adUnsignedInt</B>
<P class=T></P>
</TD>
<TD class=T width=13%>19</TD>
<TD class=T width=55%>指示一個四字節的無符號整數 (DBTYPE_UI4)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adUnsignedSmallInt</B>
<P class=T></P>
</TD>
<TD class=T width=13%>18</TD>
<TD class=T width=55%>指示一個雙字節的無符號整數 (DBTYPE_UI2)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adUnsignedTinyInt</B>
<P class=T></P>
</TD>
<TD class=T width=13%>17</TD>
<TD class=T width=55%>指示一個單字節的無符號整數 (DBTYPE_UI1)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adUserDefined</B>
<P class=T></P>
</TD>
<TD class=T width=13%>132</TD>
<TD class=T width=55%>指示一個用戶定義的變量 (DBTYPE_UDT)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adVarBinary</B>
<P class=T></P>
</TD>
<TD class=T width=13%>204</TD>
<TD class=T width=55%>指示一個二進制值(僅限於 <B>Parameter</B> 對象)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adVarChar</B>
<P class=T></P>
</TD>
<TD class=T width=13%>200</TD>
<TD class=T width=55%>指示一個字符串值(僅限於 <B>Parameter</B> 對象)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adVariant</B>
<P class=T></P>
</TD>
<TD class=T width=13%>12</TD>
<TD class=T width=55%>指示一個 Automation <B>Variant</B> (DBTYPE_VARIANT)。
<P class=T><B>注意 </B>ADO 目前不支持這種數據類型。使用它可能導致不可預料的結果。</P>
</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adVarNumeric</B>
<P class=T></P>
</TD>
<TD class=T width=13%>139</TD>
<TD class=T width=55%>指示一個數字值(僅限於 <B>Parameter</B> 對象)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adVarWChar</B>
<P class=T></P>
</TD>
<TD class=T width=13%>202</TD>
<TD class=T width=55%>指示一個以 Null 終止的 Unicode 字符串(僅限於 <B>Parameter</B> 對象)。</TD>
</TR>
<TR VALIGN="top">
<TD class=T width=32%><B>adWChar</B>
<P class=T></P>
</TD>
<TD class=T width=13%>130</TD>
<TD class=T width=55%>指示一個以 Null 終止的 Unicode 字符串 (DBTYPE_WSTR)。</TD>
</TR>
</TABLE>
</body>
</html>
在已有的表,創建字段。 復制代碼 代碼如下:
<%
dbs="Data Source="+server.mappath("database.mdb")+";Provider=Microsoft.Jet.OLEDB.4.0;"
set conn=server.createobject("ADODB.connection")
conn.open dbs
set cat =server.createobject("ADOX.Catalog")
Set cat.ActiveConnection = conn
set tbl=cat.tables("bbs")
set objColumn = server.createObject("ADOX.Column")
Set objColumn.parentCatalog = cat
objColumn.name = "time1"
objColumn.type = "130"
objColumn.attributes=2
tbl.columns.append objColumn
set objTable = nothing
set objCat = nothing
%>
刪除字段和修改字段復制代碼 代碼如下:
<%
dbs="Data Source="+server.mappath("database.mdb")+";Provider=Microsoft.Jet.OLEDB.4.0;"
set conn=server.createobject("ADODB.connection")
conn.open dbs
set cat =server.createobject("ADOX.Catalog")
Set cat.ActiveConnection = conn
set tbl=cat.tables("bbs")
tbl.columns.delete "time"
set field=tbl.columns("time2")
field.name="time"
%>
創建數據庫文件
復制代碼 代碼如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
Option Explicit
dim databasename '定義數據庫名稱
databasename="database.mdb" '數據庫名稱
dim databasepath '定義數據庫存放路徑
databasepath="E:\張偉\模塊開發\新聞模塊\" '數據庫絕對路徑
dim databasever '定義數據庫版本 2000 或者 97
databasever = "2000"
Function Createdfile(FilePath,FileName,Ver)
Dim Ca,dbver
select case ver
case "97"
dbver = "3.51"
case "2000"
dbver = "4.0"
end select
if dbver <> "" then
Set Ca = Server.CreateObject("ADOX.Catalog")
call Ca.Create("Provider=Microsoft.Jet.OLEDB." & dbver & ";Data Source=" & filepath & filename)
end if
End Function
Createdfile databasepath,databasename,databasever '創建數據庫
%>