欢迎光临
我们一直在努力

ADO如何使用Insert语法

建站超值云服务器,限时71元/月

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。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » ADO如何使用Insert语法
分享到: 更多 (0)