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

复制代码 代码如下:

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

  %>