明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

ADO如何使用Insert語法

[摘要]Insert可以使一個(gè)表新增一個(gè)或多個(gè)記錄: INSERT INTO:新增一個(gè)記錄。 INSERT INTO…SELECT:新增多個(gè)記錄。 一、INSERT INTO 新增一個(gè)記錄的INSERT INTO語法如下: INSERT INTO 表 [(字段1[,字段2[, ...]])] VALUES...

Insert可以使一個(gè)表新增一個(gè)或多個(gè)記錄:



INSERT INTO:新增一個(gè)記錄。

INSERT INTO…SELECT:新增多個(gè)記錄。


一、INSERT INTO

新增一個(gè)記錄的INSERT INTO語法如下:

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

新增的記錄,將依照指定字段排列的順序插入對(duì)應(yīng)的值,譬如值1將被插入至字段1,值2將被插入至字段2,依此類推。

若未指定 (字段1[,字段2[, ...]]) ,將依照表所定義的字段排列的順序插入對(duì)應(yīng)的值,在VALUES 子句必須包含表中的每一字段值。

值間須使用逗點(diǎn)分隔,文字字段須使用單用引號(hào) ('值') 括起來。

譬如ASP程式碼rs7.asp如下,[Insert Into 產(chǎn)品(代號(hào),名稱,價(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),名稱,價(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">名稱

</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("名稱")%></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,語法如下:

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

如果表包含一個(gè)主索引,須確定新增到主索引字段的值是唯一的且不可為Null值。

原表的字段為自動(dòng)編號(hào)類型時(shí),如果您要將新增記錄重新編號(hào),就不要在查詢之中包含自動(dòng)編號(hào)字段。若要保持原字段中的值,則將自動(dòng)編號(hào)加在查詢之中。

INSERT INTO將所新增的記錄加入原有的表之中。若要建立一個(gè)新的表,可以使用 SELECT... INTO 的語句。

讓我們看一個(gè)在ASP程式中使用這個(gè)SQL指令的例子。

譬如ASP程式碼rs7.asp如下,[Insert Into 產(chǎn)品(代號(hào),名稱,價(jià)格,數(shù)量) Select 代號(hào),名稱,價(jià)格*10,數(shù)量*10 From 產(chǎn)品 where 代號(hào) ='C2000'],將代號(hào)為C2000的價(jià)格和數(shù)量都乘予10後,再新增記錄:

<%

sql = "Insert Into 產(chǎn)品(代號(hào),名稱,價(jià)格,數(shù)量) Select 代號(hào),名稱,價(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">名稱

</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("名稱")%></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é)果,代號(hào)為C2000的有兩個(gè)記錄,最后兩個(gè)為新增的記錄,將價(jià)格和數(shù)量都乘以10。(出處:熱點(diǎn)網(wǎng)絡(luò))