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

%>

(0)

相关推荐

  • asp.net(C#) Access 数据操作类

    复制代码 代码如下: using System; using System.Configuration; using System.Data; using System.Data.OleDb; using System.Xml; using System.Collections; namespace Website.Command { /// <summary> /// WSplus 的摘要说明. /// </summary> public class AccessClass :

  • asp 获取access系统表,查询等操作代码

    方法一:直接用ado的OpenSchema()方法打开adSchemaTables,建立一个schema记录集 Code: <% Const adSchemaTables = 20 adSchemaColumns = 4 dim Conn,db dim ConnStr db="temp.mdb"       'ACCESS数据库的文件名,请使用相对于网站根目录的的绝对路径 ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data 

  • asp连接access、sql数据库代码及数据库操作代码

    1. ASP与Access数据库连接: 复制代码 代码如下: dim strConn dim conn strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.mappath("data/isp.mdb")+";Persist Security Info=False" set conn = Server.CreateObject("ADODB.Connection

  • ASP 连接 SQL SERVER 2008的方法

    虽然网上有很多介绍,但是我还是费了很大的劲才连上.(要安装IIS和SQL SERVER) 新建一个*.asp文件,键入 <% set conn =server.createobject("adodb.connection") conn.open "provider=sqloledb;data source=local;uid=sa;pwd=******;database=database-name" %> 比较标准的 需要注意的是: DataServer

  • asp实现的查询某关键词在MSSQL数据库位置的代码

    功能是:以一个关键字为索引,搜索整个数据库,然后返回那个关键字所在的表名和列名.(很赞...特别是入侵的时候找不到用户名与密码所在的表的时候,如果能直接通过输入admin这个关键词找出字段...省得一个表一个表的看了.)于是根据那段语句,写了个asp的脚本,方便大家以后搜寻数据库. 代码如下: 复制代码 代码如下: <% 'Confirm a keyword's position of a database(which table & which column) 'By oldjun(htt

  • Asp 操作Access数据库时出现死锁.ldb的解决方法

    于是我登陆主机的管理面板,重启了网站服务,ldb文件就消失了,网站打开也正常了,但过了数小时后,网站又再次出现以上情况,此种情况持续了好一段时间,网站后来被虚拟主机的供应商屏蔽了,反馈给我的说法是因为我的网站运行时大量占用CPU资源,所以予暂时屏蔽,让我对网站程序或数据库进行优化. 在百度上搜索了一下这方面的情况,结果也不少,总结下来主要都是因为对数据库存取完后,没有及时释放记录集和断开数据库连接,以下谈谈操作Access数据库的标准方法: 1.数据库连接方法:Conn.asp <% dim c

  • asp 在线备份与恢复sqlserver数据库的代码

    asp在线备份sql server数据库: 1.备份sqlserver 复制代码 代码如下: <% SQL="backup database 数据库名 to disk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"'" set cnn=Server.createobject("adodb.connectio

  • asp执行带参数的sql语句实例

    asp执行带参数的sql语句,需要向sql语句添加参数,可以有效屏蔽SQL注入,源代码如下: 复制代码 代码如下: var conn = Server.CreateObject("ADODB.Connection"); conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("Test.mdb"); conn.Open();

  • ASP中巧用Split()函数生成SQL查询语句的实例

    Split 程序代码 复制代码 代码如下: <%attribs="商场名^^快餐店名^^报停名"names=Split(attribs,"^^")i=0for each name in names  response.write names(i)&"<br>"  i=i+1next%> 程序拆分结果:商场名快餐店名报停名 根据 Split 结果生成 SQL 语句 复制代码 代码如下: <%attribs=&q

  • ASP ACCESS 日期操作语句小结 By Stabx

    复制代码 代码如下: 13.5.1 列出某一天, 上一星期的数据 SELECT distinct dateandtime FROM ctdate_by_query_date WHERE dateandtime between ((#2006-5-15#+(Weekday(2006-5-15)-7))-6) and (#2006-5-15#-7)+Weekday(2006-5-15) sql="SELECT distinct dateandtime FROM ctarticle WHERE dat

  • ASP语言实现对SQL SERVER数据库的操作

    目前管理信息系统已从传统的客户机/服务器(C/S)模式转向了浏览器/服务器(B/S)模式,特别是微软公司推出它的新产品ASP语言之后,这种转变更加迅猛.管理信息系统的核心是对数据库进行包括添加.修改和查询等等操作,ASP提供的ADO数据库接口控件,使得程序员再也勿需编写复杂的CGI程序了,而只要用几句简单的语句即可实现以上操作.1.系统环境 PII 350,Ram 64M,WINNT Server 4.0, Service Pack4, IIS 4.0, SQL Server7.0. 2.系统功

  • asp连接mysql数据库详细实现代码

    想要asp能连接mysql数据库需要安装MySQL ODBC 3.51 驱动 http://www.jb51.net/softs/19910.html我们先看下面这段代码 复制代码 代码如下: set conn = server.createobject("adodb.connection") Conn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=127.0.0.1;DATABASE=Shops;USER=root;PASSWOR

  • asp操作access提示无法从指定的数据表中删除原因分析及解决

    数据库访问权限问题 右击数据库文件->属性->安全->添加->高级->立即查找->IUSR_XXXX & IWAN_XXXX ->确定->打开两个用户的"写入"和"修改"的权限 注意:XXXX为你的计算机名 如果操作系统用的是XP,则需要在 工具->文件夹选项->视图 中关闭"简单文件共享" 是windows本身对IUSER用户的权限问题,尤其是2000以上NTFS格式的硬盘默认

  • ASP通过ODBC连接SQL Server 2008数据库的方法

    创建数据库连接文件[dsn文件]的方法 创建 ODBC DSN 文件 在创建数据库脚本之前,必须提供一条使 ADO 定位.标识和与数据库通讯的途径.数据库驱动程序使用 Data Source Name (DSN) 定位和标识特定的 ODBC 兼容数据库,将信息从 Web 应用程序传递给数据库.典型情况下,DSN 包含数据库配置.用户安全性和定位信息,且可以获取 Windows NT 注册表项中或文本文件的表格. 通过 ODBC,您可以选择希望创建的 DSN 的类型:用户.系统或文件.用户和系统

  • asp终极防范SQL注入漏洞

    下面给出4个函数,足够你抵挡一切SQL注入漏洞!读懂代码,你就能融会贯通. 注意要对所有的request对象进行过滤:包括 request.cookie, request.ServerVariables 等等容易被忽视的对象: 复制代码 代码如下: function killn(byval s1) '过滤数值型参数 if not isnumeric(s1) then killn=0 else if s1<0 or s1>2147483647 then killn=0 else killn=cl

随机推荐