### ASP 创建表与复制表详解
#### 一、ASP与ADO技术简介
ASP(Active Server Pages)是一种服务器端脚本环境,在HTML页面中嵌入服务器端脚本(如VBScript或JScript)来生成动态网页内容。ADO(ActiveX Data Objects)是用于访问数据库的一种OLE DB接口。
#### 二、ASP创建表
在ASP中使用ADO对象可以轻松地创建表。以下示例展示了如何使用ASP和ADO在Microsoft Access数据库中创建一张新表:
```vbscript
<%
set conn = server.CreateObject("ADODB.Connection")
sql = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("BOOK.mdb")
conn.Open sql
' 创建表bbb
sqlCreateTable = "CREATE TABLE bbb (id AUTOINCREMENT(1,1), p_id TEXT(100), eemoney CURRENCY, ffdate DATE DEFAULT #Now#, gg GUID, hh SINGLE DEFAULT 50, ii DOUBLE, jj SMALLINT, kk LONG, ll IMAGE, mmm MEMO, oo YESNO NOT NULL, pp TINYINT)"
conn.Execute(sqlCreateTable)
conn.Close
set conn = Nothing
%>
```
1. **连接数据库**:通过`server.CreateObject("ADODB.Connection")`创建ADO连接对象,并设置连接字符串。
2. **执行SQL命令**:使用`conn.Execute`执行SQL语句,创建表bbb。
3. **字段类型解析**:
- `id AUTOINCREMENT(1,1)`:自增ID字段。
- `p_id TEXT(100)`:长度为100个字符的文本字段。
- `eemoney CURRENCY`:货币类型字段。
- `ffdate DATE DEFAULT #Now#`:日期类型字段,默认值为当前日期。
- `gg GUID`:全局唯一标识符字段。
- `hh SINGLE DEFAULT 50`:单精度浮点型字段,默认值为50。
- `ii DOUBLE`:双精度浮点型字段。
- `jj SMALLINT`:短整型字段。
- `kk LONG`:长整型字段。
- `ll IMAGE`:图像字段。
- `mmm MEMO`:备注字段。
- `oo YESNO NOT NULL`:是否字段,不能为空。
- `pp TINYINT`:小整型字段。
#### 三、复制表
复制表有两种方式:一种仅复制结构不包含数据,另一种既复制结构也复制数据。
1. **仅复制结构**
```vbscript
<%
set rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT * INTO b FROM a WHERE 1=0"
rs.Open sql, conn, 1, 1
rs.Update
rs.Close
set rs = Nothing
%>
```
- `SELECT * INTO b FROM a WHERE 1=0`:创建一个名为b的新表,其结构与a表相同,但不包含任何数据。
2. **复制结构及数据**
```vbscript
<%
set rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT * INTO b FROM a"
rs.Open sql, conn, 1, 1
rs.Update
rs.Close
set rs = Nothing
%>
```
- `SELECT * INTO b FROM a`:创建一个名为b的新表,其结构与a表相同,并且包含a表中的所有数据。
#### 四、新建数据库并创建表
通过ADO可以创建一个新的Access数据库,并在其中创建表。
1. **创建数据库**
```vbscript
<%
set conn = server.CreateObject("ADODB.Connection")
conn.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & server.MapPath("lifeda1.mdb")
%>
```
2. **向数据库中添加表**
```vbscript
<%
set rs = Server.CreateObject("ADODB.Recordset")
rs.Name = "aaaa"
' 添加字段
rs.Columns.Append "id", 3
rs.Columns.Append "liuyan", 203
rs.Columns.Append "dt", 7
' 将新表添加到数据库
conn.Tables.Append rs
set rs = Nothing
%>
```
- `rs.Name = "aaaa"`:设置新表的名称。
- `rs.Columns.Append "id", 3`:添加一个整数类型的字段。
- `rs.Columns.Append "liuyan", 203`:添加一个备注类型的字段。
- `rs.Columns.Append "dt", 7`:添加一个日期/时间类型的字段。
#### 五、字段类型附录
- **203**:备注类型。
- **7**:日期/时间类型。
- **128**:二进制类型。
- **11**:布尔类型。
- **6**:货币类型。
- **133**:日期类型。
- **134**:时间类型。
- **135**:日期时间类型。
- **5**:双精度类型。
- **4**:单精度类型。
- **3**:数字类型。
- **204**:二进制类型。
- **202**:字符串类型。
以上内容概述了ASP与ADO结合使用的几种常见操作方法,包括创建表、复制表以及新建数据库和表的操作步骤和技术细节。希望这些信息能够帮助您更好地理解和应用ASP与ADO技术进行数据库操作。