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

2018-09-06 13:17

阅读:570

  复制代码 代码如下:
<%@LANGUAGE=VBSCRIPTCODEPAGE=936%>
<%
ifTrim(Request.Form(TableName))

----设置打开数据库连接
dbs=DataSource=+server.mappath(database.mdb)+;Provider=Microsoft.Jet.OLEDB.4.0;
conn.opendbs


定义ADOX,指定连接
setADOX=server.createobject(ADOX.Catalog)
SetADOX.ActiveConnection=conn

创建Table,写入属性
SetobjTable=Server.CreateObject(ADOX.Table)
objTable.name=Trim(Request.Form(TableName))表单获取
objTable.parentCatalog=ADOX

定义第一个字段
setobjColumn=server.createObject(ADOX.Column)
SetobjColumn.parentCatalog=ADOX
objColumn.name=Column1
objColumn.type=202数据类型202代表文本,
objColumn.Attributes=21--必填字段,2--非必填
objTable.Columns.AppendobjColumn
setobjColumn=nothing清除第一个字段信息


定义第二个字段
setobjColumn=server.createObject(ADOX.Column)
SetobjColumn.parentCatalog=ADOX
objColumn.name=Column2
objColumn.type=3
objColumn.Attributes=2
objTable.Columns.AppendobjColumn
setobjColumn=nothing

ADOX.Tables.AppendobjTable

SetADOX=Nothing


%>

<!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//EN
<htmlxmlns=
<head>
<metahttp-equiv=Content-Typecontent=text/html;charset=gb2312/>
<title>建立表格和字段</title>
<styletype=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>
<TABLEborder=1cellpadding=4cellspacing=4cols=4frame=boxrules=allwidth=100%>

<TRVALIGN=top>
<THwidth=32%>常量</TH>
<THwidth=13%>值</TH>
<THwidth=55%>说明</TH>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>AdArray<BR>
</B>(不适用于ADOX。)</TD>
<TDclass=Twidth=13%>0x2000
<Pclass=T></P>
</TD>
<TDclass=Twidth=55%>一个标志值,通常与另一个数据类型常量组合,指示该数据类型的数组。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adBigInt</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>20</TD>
<TDclass=Twidth=55%>指示一个八字节的有符号整数(DBTYPE_I8)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adBinary</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>128</TD>
<TDclass=Twidth=55%>指示一个二进制值(DBTYPE_BYTES)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adBoolean</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>11</TD>
<TDclass=Twidth=55%>指示一个布尔值(DBTYPE_BOOL)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adBSTR</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>8</TD>
<TDclass=Twidth=55%>指示以Null终止的字符串(Unicode)(DBTYPE_BSTR)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adChapter</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>136</TD>
<TDclass=Twidth=55%>指示一个四字节的子集值,标识子<AHREF=mddefrowset.htm>行集合</A>中的行(DBTYPE_HCHAPTER)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adChar</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>129</TD>
<TDclass=Twidth=55%>指示一个字符串值(DBTYPE_STR)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adCurrency</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>6</TD>
<TDclass=Twidth=55%>指示一个货币值(DBTYPE_CY)。货币是一个定点数字,小数点右侧有四位数字。该值存储为八字节、范围为10,000的有符号整数。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adDate</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>7</TD>
<TDclass=Twidth=55%>指示日期值(DBTYPE_DATE)。日期保存为双精度数,数字的整数部分是从1899年12月30日算起的天数,小数部分是一天当中的片段时间。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adDBDate</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>133</TD>
<TDclass=Twidth=55%>指示日期值(yyyymmdd)(DBTYPE_DBDATE)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adDBTime</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>134</TD>
<TDclass=Twidth=55%>指示时间值(hhmmss)(DBTYPE_DBTIME)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adDBTimeStamp</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>135</TD>
<TDclass=Twidth=55%>指示日期/时间戳(yyyymmddhhmmss加十亿分之一的小数)(DBTYPE_DBTIMESTAMP)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adDecimal</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>14</TD>
<TDclass=Twidth=55%>指示具有固定精度和范围的确切数字值(DBTYPE_DECIMAL)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adDouble</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>5</TD>
<TDclass=Twidth=55%>指示一个双精度浮点值(DBTYPE_R8)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adEmpty</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>0</TD>
<TDclass=Twidth=55%>指定没有值(DBTYPE_EMPTY)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adError</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>10</TD>
<TDclass=Twidth=55%>指示一个32位的错误代码(DBTYPE_ERROR)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adFileTime</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>64</TD>
<TDclass=Twidth=55%>指示一个64位的值,表示从1601年1月1日开始的100个十亿分之一秒间隔的数量(DBTYPE_FILETIME)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adGUID</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>72</TD>
<TDclass=Twidth=55%>指示全局唯一标识符(GUID)(DBTYPE_GUID)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adIDispatch</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>9</TD>
<TDclass=Twidth=55%>指示指向COM对象上<B>IDispatch</B>接口的指针(DBTYPE_IDISPATCH)。
<Pclass=T><B>注意</B>ADO目前不支持这种数据类型。使用它可能导致不可预料的结果。</P>
</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adInteger</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>3</TD>
<TDclass=Twidth=55%>指示一个四字节的有符号整数(DBTYPE_I4)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adIUnknown</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>13</TD>
<TDclass=Twidth=55%>指示指向COM对象上<B>IUnknown</B>接口的指针(DBTYPE_IUNKNOWN)。
<Pclass=T><B>注意</B>ADO目前不支持这种数据类型。使用它可能导致不可预料的结果。</P>
</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adLongVarBinary</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>205</TD>
<TDclass=Twidth=55%>指示一个长二进制值(仅限于<B>Parameter</B>对象)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adLongVarChar</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>201</TD>
<TDclass=Twidth=55%>指示一个长字符串值(仅限于<B>Parameter</B>对象)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adLongVarWChar</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>203</TD>
<TDclass=Twidth=55%>指示一个以Null终止的长Unicode字符串值(仅限于<B>Parameter</B>对象)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adNumeric</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>131</TD>
<TDclass=Twidth=55%>指示具有固定精度和范围的确切数字值(DBTYPE_NUMERIC)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adPropVariant</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>138</TD>
<TDclass=Twidth=55%>指示一个AutomationPROPVARIANT(DBTYPE_PROP_VARIANT)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adSingle</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>4</TD>
<TDclass=Twidth=55%>指示一个单精度浮点值(DBTYPE_R4)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adSmallInt</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>2</TD>
<TDclass=Twidth=55%>指示一个双字节的有符号整数(DBTYPE_I2)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adTinyInt</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>16</TD>
<TDclass=Twidth=55%>指示一个单字节的有符号整数(DBTYPE_I1)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adUnsignedBigInt</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>21</TD>
<TDclass=Twidth=55%>指示一个八字节的无符号整数(DBTYPE_UI8)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adUnsignedInt</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>19</TD>
<TDclass=Twidth=55%>指示一个四字节的无符号整数(DBTYPE_UI4)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adUnsignedSmallInt</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>18</TD>
<TDclass=Twidth=55%>指示一个双字节的无符号整数(DBTYPE_UI2)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adUnsignedTinyInt</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>17</TD>
<TDclass=Twidth=55%>指示一个单字节的无符号整数(DBTYPE_UI1)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adUserDefined</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>132</TD>
<TDclass=Twidth=55%>指示一个用户定义的变量(DBTYPE_UDT)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adVarBinary</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>204</TD>
<TDclass=Twidth=55%>指示一个二进制值(仅限于<B>Parameter</B>对象)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adVarChar</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>200</TD>
<TDclass=Twidth=55%>指示一个字符串值(仅限于<B>Parameter</B>对象)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adVariant</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>12</TD>
<TDclass=Twidth=55%>指示一个Automation<B>Variant</B>(DBTYPE_VARIANT)。
<Pclass=T><B>注意</B>ADO目前不支持这种数据类型。使用它可能导致不可预料的结果。</P>
</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adVarNumeric</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>139</TD>
<TDclass=Twidth=55%>指示一个数字值(仅限于<B>Parameter</B>对象)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adVarWChar</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>202</TD>
<TDclass=Twidth=55%>指示一个以Null终止的Unicode字符串(仅限于<B>Parameter</B>对象)。</TD>
</TR>

<TRVALIGN=top>
<TDclass=Twidth=32%><B>adWChar</B>
<Pclass=T></P>
</TD>
<TDclass=Twidth=13%>130</TD>
<TDclass=Twidth=55%>指示一个以Null终止的Unicode字符串(DBTYPE_WSTR)。</TD>
</TR>
</TABLE>
</body>
</html>

在已有的表,创建字段。
复制代码 代码如下:
<%
dbs=DataSource=+server.mappath(database.mdb)+;Provider=Microsoft.Jet.OLEDB.4.0;
conn.opendbs
setcat=server.createobject(ADOX.Catalog)
Setcat.ActiveConnection=conn
settbl=cat.tables(bbs)
setobjColumn=server.createObject(ADOX.Column)
SetobjColumn.parentCatalog=cat
objColumn.type=130
objColumn.attributes=2
tbl.columns.appendobjColumn

setobjTable=nothing
setobjCat=nothing

%>


删除字段和修改字段
复制代码 代码如下:
<%
dbs=DataSource=+server.mappath(database.mdb)+;Provider=Microsoft.Jet.OLEDB.4.0;
conn.opendbs
setcat=server.createobject(ADOX.Catalog)
Setcat.ActiveConnection=conn
settbl=cat.tables(bbs)
tbl.columns.deletetime

setfield=tbl.columns(time2)

%>


创建数据库文件
复制代码 代码如下:
<%@LANGUAGE=VBSCRIPTCODEPAGE=936%>
<%
OptionExplicit
dimdatabasename定义数据库名称
databasename=database.mdb数据库名称
dimdatabasepath定义数据库存放路径
databasepath=E:\张伟\模块开发\新闻模块\数据库绝对路径
dimdatabasever定义数据库版本2000或者97
databasever=2000

FunctionCreatedfile(FilePath,FileName,Ver)
DimCa,dbver
selectcasever
case97
dbver=3.51
case2000
dbver=4.0
endselect
ifdbver<>then
SetCa=Server.CreateObject(ADOX.Catalog)
callCa.Create(Provider=Microsoft.Jet.OLEDB.&dbver&;DataSource=&filepath&filename)
endif
EndFunction

Createdfiledatabasepath,databasename,databasever创建数据库

%>


评论


亲,登录后才可以留言!