复制代码 代码如下:
<%@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
%>
'使用 Column 对象的属性和集合,可以:
'使用 Name 属性标识列。
'使用 Type 属性指定列的数据类型。
'使用 Attributes 属性确定列是否为固定长度,或者是否能包含 Null 值。
'使用 DefinedSize 属性指定列的最大尺寸。
'对于数字数据值,使用 NumericScale 属性指定范围。
'对于数字数据值,使用 Precision 属性指定最大精度。
'使用 ParentCatalog 属性指定列的父 Catalog。
'对于键列,使用 RelatedColumn 属性指定相关表中相关列的名称。
'对于索引列,使用 SortOrder 属性指定排序顺序是升序还是降序。
数据类型如下表:
常量 | 值 | 说明 |
---|---|---|
AdArray (不适用于 ADOX。) | 0x2000 | 一个标志值,通常与另一个数据类型常量组合,指示该数据类型的数组。 |
adBigInt | 20 | 指示一个八字节的有符号整数 (DBTYPE_I8)。 |
adBinary | 128 | 指示一个二进制值 (DBTYPE_BYTES)。 |
adBoolean | 11 | 指示一个布尔值 (DBTYPE_BOOL)。 |
adBSTR | 8 | 指示以 Null 终止的字符串 (Unicode) (DBTYPE_BSTR)。 |
adChapter | 136 | 指示一个四字节的子集值,标识子行集合中的行 (DBTYPE_HCHAPTER)。 |
adChar | 129 | 指示一个字符串值 (DBTYPE_STR)。 |
adCurrency | 6 | 指示一个货币值 (DBTYPE_CY)。货币是一个定点数字,小数点右侧有四位数字。该值存储为八字节、范围为 10,000 的有符号整数。 |
adDate | 7 | 指示日期值 (DBTYPE_DATE)。日期保存为双精度数,数字的整数部分是从 1899 年 12 月 30 日算起的天数,小数部分是一天当中的片段时间。 |
adDBDate | 133 | 指示日期值 (yyyymmdd) (DBTYPE_DBDATE)。 |
adDBTime | 134 | 指示时间值 (hhmmss) (DBTYPE_DBTIME)。 |
adDBTimeStamp | 135 | 指示日期/时间戳(yyyymmddhhmmss 加十亿分之一的小数)(DBTYPE_DBTIMESTAMP)。 |
adDecimal | 14 | 指示具有固定精度和范围的确切数字值 (DBTYPE_DECIMAL)。 |
adDouble | 5 | 指示一个双精度浮点值 (DBTYPE_R8)。 |
adEmpty | 0 | 指定没有值 (DBTYPE_EMPTY)。 |
adError | 10 | 指示一个 32 位的错误代码 (DBTYPE_ERROR)。 |
adFileTime | 64 | 指示一个 64 位的值,表示从 1601 年 1 月 1 日开始的 100 个十亿分之一秒间隔的数量 (DBTYPE_FILETIME)。 |
adGUID | 72 | 指示全局唯一标识符 (GUID) (DBTYPE_GUID)。 |
adIDispatch | 9 | 指示指向 COM 对象上 IDispatch 接口的指针 (DBTYPE_IDISPATCH)。 注意 ADO 目前不支持这种数据类型。使用它可能导致不可预料的结果。 |
adInteger | 3 | 指示一个四字节的有符号整数 (DBTYPE_I4)。 |
adIUnknown | 13 | 指示指向 COM 对象上 IUnknown 接口的指针 (DBTYPE_IUNKNOWN)。 注意 ADO 目前不支持这种数据类型。使用它可能导致不可预料的结果。 |
adLongVarBinary | 205 | 指示一个长二进制值(仅限于 Parameter 对象)。 |
adLongVarChar | 201 | 指示一个长字符串值(仅限于 Parameter 对象)。 |
adLongVarWChar | 203 | 指示一个以 Null 终止的长 Unicode 字符串值(仅限于 Parameter 对象)。 |
adNumeric | 131 | 指示具有固定精度和范围的确切数字值 (DBTYPE_NUMERIC)。 |
adPropVariant | 138 | 指示一个 Automation PROPVARIANT (DBTYPE_PROP_VARIANT)。 |
adSingle | 4 | 指示一个单精度浮点值 (DBTYPE_R4)。 |
adSmallInt | 2 | 指示一个双字节的有符号整数 (DBTYPE_I2)。 |
adTinyInt | 16 | 指示一个单字节的有符号整数 (DBTYPE_I1)。 |
adUnsignedBigInt | 21 | 指示一个八字节的无符号整数 (DBTYPE_UI8)。 |
adUnsignedInt | 19 | 指示一个四字节的无符号整数 (DBTYPE_UI4)。 |
adUnsignedSmallInt | 18 | 指示一个双字节的无符号整数 (DBTYPE_UI2)。 |
adUnsignedTinyInt | 17 | 指示一个单字节的无符号整数 (DBTYPE_UI1)。 |
adUserDefined | 132 | 指示一个用户定义的变量 (DBTYPE_UDT)。 |
adVarBinary | 204 | 指示一个二进制值(仅限于 Parameter 对象)。 |
adVarChar | 200 | 指示一个字符串值(仅限于 Parameter 对象)。 |
adVariant | 12 | 指示一个 Automation Variant (DBTYPE_VARIANT)。 注意 ADO 目前不支持这种数据类型。使用它可能导致不可预料的结果。 |
adVarNumeric | 139 | 指示一个数字值(仅限于 Parameter 对象)。 |
adVarWChar | 202 | 指示一个以 Null 终止的 Unicode 字符串(仅限于 Parameter 对象)。 |
adWChar | 130 | 指示一个以 Null 终止的 Unicode 字符串 (DBTYPE_WSTR)。 |
在已有的表,创建字段。
复制代码 代码如下:
<%
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 '创建数据库
%>
以上就是access数据库的一些少用操作,ASP,创建数据库文件,创建表,创建字段,ADOX的详细内容,更多请关注0133技术站其它相关文章!