当前位置: 移动技术网 > IT编程>开发语言>Asp > access数据库的一些少用操作,ASP,创建数据库文件,创建表,创建字段,ADOX

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

2017年12月12日  | 移动技术网IT编程  | 我要评论
复制代码 代码如下:

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

%>

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网