ADO如何使用Insert語(yǔ)法
發(fā)表時(shí)間:2024-06-15 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]Insert可以使一個(gè)表新增一個(gè)或多個(gè)記錄: INSERT INTO:新增一個(gè)記錄。 INSERT INTO…SELECT:新增多個(gè)記錄。 一、INSERT INTO 新增一個(gè)記錄的INSERT INTO語(yǔ)法如下: INSERT INTO 表 [(字段1[,字段2[, ...]])] VALUES...
Insert可以使一個(gè)表新增一個(gè)或多個(gè)記錄:
INSERT INTO:新增一個(gè)記錄。
INSERT INTO…SELECT:新增多個(gè)記錄。
一、INSERT INTO
新增一個(gè)記錄的INSERT INTO語(yǔ)法如下:
INSERT INTO 表 [(字段1[,字段2[, ...]])]
VALUES (值1[,值2[, ...])
新增的記錄,將依照指定字段排列的順序插入對(duì)應(yīng)的值,譬如值1將被插入至字段1,值2將被插入至字段2,依此類(lèi)推。
若未指定 (字段1[,字段2[, ...]]) ,將依照表所定義的字段排列的順序插入對(duì)應(yīng)的值,在VALUES 子句必須包含表中的每一字段值。
值間須使用逗點(diǎn)分隔,文字字段須使用單用引號(hào) ('值') 括起來(lái)。
譬如ASP程式碼rs7.asp如下,[Insert Into 產(chǎn)品(代號(hào),名稱(chēng),價(jià)格,數(shù)量)
Values('C2000','Computre 2000',2000,2)] 和 [Insert Into 產(chǎn)品
Values('C2000', 'Computre 2000',3000,3,'1/1/99',' ','電腦')] 在產(chǎn)品表各新增一筆資料:
<%
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 產(chǎn)品(代號(hào),名稱(chēng),價(jià)格,數(shù)量) Values('C2000','Computre 2000',2000,2)"
Set a = conn1.Execute(sql)
sql = "Insert Into 產(chǎn)品 Values('C2000','Computre 2000',3000,3,'1/1/99',' ','電腦')"
Set a = conn1.Execute(sql)
Set rs3 = Server.CreateObject("ADODB.Recordset")
sql = "Select * from 產(chǎn)品 where 代號(hào) ='C2000'"
rs3.Open sql,conn1,1,1,1
%>
<TABLE COLSPAN=8 CELLPADDING=5 BORDER=0>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">代號(hào)
</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">名稱(chēng)
</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">價(jià)格
</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">數(shù)量
</FONT></TD>
</TR>
<% Do while not rs3.EOF %>
<TR>
<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("代號(hào)")%></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("名稱(chēng)")%></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("價(jià)格")%></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("數(shù)量")%></TD>
</TR>
<%
rs3.MoveNext
Loop
rs3.Close
%>
</TABLE>
以上的 ASP程式碼rs7.asp,執(zhí)行的結(jié)果,顯示新增兩個(gè)記錄資料。
二、Insert Into...Select
若要新增多個(gè)記錄,可以使用INSERT INTO…SELECT,語(yǔ)法如下:
INSERT INTO 表 [IN 外部資料庫(kù)] [(字段1[,字段2[, ...]])]
SELECT [表.]字段1[, 字段2[, ...]
FROM 表
如果表包含一個(gè)主索引,須確定新增到主索引字段的值是唯一的且不可為Null值。
原表的字段為自動(dòng)編號(hào)類(lèi)型時(shí),如果您要將新增記錄重新編號(hào),就不要在查詢(xún)之中包含自動(dòng)編號(hào)字段。若要保持原字段中的值,則將自動(dòng)編號(hào)加在查詢(xún)之中。
INSERT INTO將所新增的記錄加入原有的表之中。若要建立一個(gè)新的表,可以使用 SELECT... INTO 的語(yǔ)句。
讓我們看一個(gè)在ASP程式中使用這個(gè)SQL指令的例子。
譬如ASP程式碼rs7.asp如下,[Insert Into 產(chǎn)品(代號(hào),名稱(chēng),價(jià)格,數(shù)量) Select 代號(hào),名稱(chēng),價(jià)格*10,數(shù)量*10 From 產(chǎn)品 where 代號(hào) ='C2000'],將代號(hào)為C2000的價(jià)格和數(shù)量都乘予10後,再新增記錄:
<%
sql = "Insert Into 產(chǎn)品(代號(hào),名稱(chēng),價(jià)格,數(shù)量) Select 代號(hào),名稱(chēng),價(jià)格*10,數(shù)量*10 From 產(chǎn)品 where 代號(hào) ='C2000'"
Set a = conn1.Execute(sql)
Set rs3 = Server.CreateObject("ADODB.Recordset")
sql = "Select * from 產(chǎn)品 where 代號(hào) ='C2000'"
rs3.Open sql,conn1,1,1,1
%>
<TABLE COLSPAN=8 CELLPADDING=5 BORDER=0>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">代號(hào)
</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">名稱(chēng)
</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">價(jià)格
</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">數(shù)量
</FONT></TD></TR>
<% Do while not rs3.EOF %><TR>
<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("代號(hào)")%></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("名稱(chēng)")%></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("價(jià)格")%></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("數(shù)量")%></TD></TR>
<%
rs3.MoveNext
Loop
rs3.Close
%>
</TABLE>
以上的 ASP程式rs7.asp,在用戶(hù)端使用瀏覽器,瀏覽執(zhí)行的結(jié)果,代號(hào)為C2000的有兩個(gè)記錄,最后兩個(gè)為新增的記錄,將價(jià)格和數(shù)量都乘以10。(出處:熱點(diǎn)網(wǎng)絡(luò))