当前位置: 首页 > 图文教程 > 网络编程 > ASP > access数据库的一些少用操作,ASP,创建数据库文件,创建表,创建字段,ADOX

ASP
提高SQL的执行效率的ASP的五种做法
asp的offset的一个go to page
asp中command的在单条记录时,有些字段显示为空的问题
asp,php一句话木马整理方便查找木马
asp 合并记录集并删除的sql语句
asp下循环一行多少个
asp循环行数输出函数
asp access重新开始编号
ASP生成数字相加求和的BMP图片验证码
静态页面利用JS读取cookies记住用户信息
比较详细的Asp伪静态化方法及Asp静态化探讨
asp Response.flush 实时显示进度
Asp高级故障解决以及相关代码
asp智能脏话过滤系统v1.0
ASP文件中的安全问题
Access数据库中“所有记录中均未找到搜索关键字”的解决方法
asp两组字符串数据比较合并相同数据
asp MYSQL出现问号乱码的解决方法
asp文章中随机插入网站版权文字的实现代码
ASP利用XMLHTTP实现表单提交以及cookies的发送的代码

access数据库的一些少用操作,ASP,创建数据库文件,创建表,创建字段,ADOX


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 133 ::
收藏到网摘: n/a

复制代码 代码如下:

<%@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 '创建数据库
%>
"