快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

ADO如何使用INSERT语法

Insert可以使一个表新增一个或多个记录:



INSERT INTO:新增一个记录。

INSERT INTO…SELECT:新增多个记录。


一、INSERT INTO

新增一个记录的INSERT INTO语法如下:

INSERT INTO 表 [(字段1[,字段2[, ...]])]
VALUES (值1[,值2[, ...])

新增的记录,将依照指定字段排列的顺序插入对应的值,譬如值1将被插入至字段1,值2将被插入至字段2,依此类推。

若未指定 (字段1[,字段2[, ...]]) ,将依照表所定义的字段排列的顺序插入对应的值,在VALUES 子句必须包含表中的每一字段值。

值间须使用逗点分隔,文字字段须使用单用引号 (\\\'值\\\') 括起来。

譬如ASP程式码rs7.asp如下,[Insert Into 产品(代号,名称,价格,数量)

Values(\\\'C2000\\\',\\\'Computre 2000\\\',2000,2)] 和 [Insert Into 产品

Values(\\\'C2000\\\', \\\'Computre 2000\\\',3000,3,\\\'1/1/99\\\',\\\' \\\',\\\'电脑\\\')] 在产品表各新增一笔资料:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft

Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

sql = "Insert Into 产品(代号,名称,价格,数量) Values(\\\'C2000\\\',\\\'Computre 2000\\\',2000,2)"

Set a = conn1.Execute(sql)

sql = "Insert Into 产品 Values(\\\'C2000\\\',\\\'Computre 2000\\\',3000,3,\\\'1/1/99\\\',\\\' \\\',\\\'电脑\\\')"

Set a = conn1.Execute(sql)

Set rs3 = Server.CreateObject("ADODB.Recordset")

sql = "Select * from 产品 where 代号 =\\\'C2000\\\'"

rs3.Open sql,conn1,1,1,1

%>

<TABLE COLSPAN=8 CELLPADDING=5 BORDER=0>

<TR>

<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">代号

</FONT></TD>

<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">名称

</FONT></TD>

<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">价格

</FONT></TD>

<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">数量

</FONT></TD>

</TR>

<% Do while not rs3.EOF %>

<TR>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("代号")%></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("名称")%></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("价格")%></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("数量")%></TD>

</TR>

<%

rs3.MoveNext

Loop

rs3.Close

%>

</TABLE>

以上的 ASP程式码rs7.asp,执行的结果,显示新增两个记录资料。


二、Insert Into...Select

若要新增多个记录,可以使用INSERT INTO…SELECT,语法如下:

INSERT INTO 表 [IN 外部资料库] [(字段1[,字段2[, ...]])]
SELECT [表.]字段1[, 字段2[, ...]
FROM 表

假如表包含一个主索引,须确定新增到主索引字段的值是唯一的且不可为Null值。

原表的字段为自动编号类型时,假如您要将新增记录重新编号,就不要在查询之中包含自动编号字段。若要保持原字段中的值,则将自动编号加在查询之中。

INSERT INTO将所新增的记录加入原有的表之中。若要建立一个新的表,可以使用 SELECT... INTO 的语句。

让我们看一个在ASP程式中使用这个SQL指令的例子。

譬如ASP程式码rs7.asp如下,[Insert Into 产品(代号,名称,价格,数量) Select 代号,名称,价格*10,数量*10 From 产品 where 代号 =\\\'C2000\\\'],将代号为C2000的价格和数量都乘予10後,再新增记录:

<%

sql = "Insert Into 产品(代号,名称,价格,数量) Select 代号,名称,价格*10,数量*10 From 产品 where 代号 =\\\'C2000\\\'"

Set a = conn1.Execute(sql)

Set rs3 = Server.CreateObject("ADODB.Recordset")

sql = "Select * from 产品 where 代号 =\\\'C2000\\\'"

rs3.Open sql,conn1,1,1,1

%>

<TABLE COLSPAN=8 CELLPADDING=5 BORDER=0>

<TR>

<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">代号

</FONT></TD>

<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">名称

</FONT></TD>

<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">价格

</FONT></TD>

<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">数量

</FONT></TD></TR>

<% Do while not rs3.EOF %><TR>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("代号")%></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("名称")%></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("价格")%></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("数量")%></TD></TR>

<%

rs3.MoveNext

Loop

rs3.Close

%>

</TABLE>

以上的 ASP程式rs7.asp,在用户端使用浏览器,浏览执行的结果,代号为C2000的有两个记录,最后两个为新增的记录,将价格和数量都乘以10。
返回类别: 教程
上一教程: 调用WINZIP命令行对上传的多个文件打包压缩
下一教程: ASP实现语音分时问候

您可以阅读与"ADO如何使用INSERT语法"相关的教程:
· ADO如何使用UPDATE语法呢(BIG5)
· 如何使用ASP制作模似动态生长的表单
· 如何使用FSO搜索硬盘文件
· 如何使用ASP创建DSN
· 如何使用JAVASCRIPT来写ASP程序
    微笑服务 优质保证 索取样品