1. <wbr id="m8vu6"></wbr>

      <del id="m8vu6"><center id="m8vu6"><source id="m8vu6"></source></center></del>
        <p id="m8vu6"><sub id="m8vu6"></sub></p>

        VB.net 2010 視頻教程 VB.net 2010 視頻教程 python基礎視頻教程
        SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
        當前位置:
        首頁 > 網站開發 > ASPnet >
        • asp.net教程之在ASP中用集合成批操作數據庫

          一、HTML的集合屬性
          首先,讓我們來熟悉一下HTML的集合屬性。在表單(FORM)數據或查詢(Query)參數中,當提交的多個參數采用同一個名稱時,這些參數值將構成一個集合,在ASP頁面可以獲取這些參數值或同名參數的個數。如在下面的頁面(Set.HTM)中,6個復選框采用同一個參數名MyCheckBox,其值分別為1、2、3、4、5、6。
        <!-- Set.HTM -->
        <html><head><title>集合屬性應用</title></head><body>
        <p>請選擇要操作的項目,提交數據后,將會顯示您選擇的項目。
        <form method="POST" action="set.asp">
        <br>1、<input type="checkbox" name="MyCheckBox" value="1">
        <br>2、<input type="checkbox" name="MyCheckBox" value="2">
        <br>3、<input type="checkbox" name="MyCheckBox" value="3">
        <br>4、<input type="checkbox" name="MyCheckBox" value="4">
        <br>5、<input type="checkbox" name="MyCheckBox" value="5">
        <br>6、<input type="checkbox" name="MyCheckBox" value="6">
        <br><input type="submit" value="提交數據" name="B1">
        </form></body></html>
          當客戶端選擇了要顯示的項目后,下面的ASP頁面(Set.ASP)給出客戶端選擇的項目個數及其值。
        <!-- Set.ASP -->
        <%@ LANGUAGE = VBScript %>
        <html><head><title>集合操作測試</title></head>
        <body>
        <% 
        Response.Write "<br>您一共選擇了"&request("MyCheckBox").count&"項,"
        Response.Write "<br>您選擇的項目有:"&request("MyCheckBox")
        %>
        </body></html>
        如當客戶端選擇了第二、三、五項并提交數據后,將會看到如下結果:
        您一共選擇了3項,
        您選擇的項目有:2, 3, 5 
        應該注意到,“2, 3, 5”的形式與SQL語句要求的形式是一致的,我們可以直接或間接地利用這種形式的結果,如 "Select * from ATable where AFiled in(" & request("MyCheckBox") & ")"的實際
        SQL查詢語句為“Select * from ATable where AFiled in(2, 3, 5)”。

        二、HTML的集合屬性的應用
          下面我們結合一個實際的例子,討論一下如何在ASP頁面中利用HTML的集合屬性來成批操作數據庫。現在我們有一個記錄客戶電子信箱的ACCESS數據庫EMail,其中有一個數據表EmailList,包含CustomerId、CustomerName、CustomerEmail三個字段,分別表示客戶編號、客戶名稱、客戶電子信箱。在ASP頁面SelectId.ASP中,我們采用CheckBox列出所有客戶的客戶名稱(各個CheckBox的值為對應的客戶編號),讓用戶選擇給哪些客戶發送電子郵件。當用戶選擇了客戶并提交數據后,SendMail.ASP將檢索到這些客戶的電子信箱,并給這些客戶發送電子郵件。具體的信息請參見下面ASP程序代碼和注釋信息。

        <!-- SelectId.ASP:列出所有客戶的客戶名稱 -->
        <html><head><title>所有客戶的客戶名稱</title></head><body>
        <p align=center><font style="font-family:宋體;font-size:9pt">
        請選擇要給哪些客戶發送“新年問候”的電子郵件
        <form method="POST" action="SendMail.asp">
        <%'建立與ACCESS數據庫的連接
        Set dbConnection = Server.CreateObject("ADODB.Connection")
        dbConnection.open "Driver={Microsoft Access Driver (*.mdb)};"&_
        "DBQ=C:\inetpub\wwwroot\test\Email.mdb"
        '獲取所有客戶的客戶編號、客戶名稱
        Set rsCustomers = Server.CreateObject("ADODB.RecordSet")
        rsCustomers.Open "Select CustomerId,CustomerName,CustomerEmail From EmailList",_
        dbConnection,1,3,1
        '顯示所有客戶的客戶名稱
        while not rsCustomers.eof
        %>
        <br><input type="checkbox" name="CustomerId" value="<%=rsCustomers("CustomerId")%>">
        <a href="mailto:<%=rsCustomers("CustomerEmail")%>">
        <%=rsCustomers("CustomerName")%></a>
        <%rsCustomers.MoveNext
        wend
        rsCustomers.close
        set rsCustomers = nothing
        dbConnection.close
        set dbConnection = nothing
        %>
        <br><input type="submit" value="給客戶發送電子郵件" name="B1" 
        style="font-family:宋體;font-size:9pt">
        </form></body></html>

        <!-- SendMail.ASP:給所選擇客戶發電子郵件 -->
        <html><head><title>給所選擇客戶發電子郵件</title></head><body>
        <p align=center><font style="font-family:宋體;font-size:9pt">
        正在給下面客戶發送電子郵件
        <%'建立與ACCESS數據庫的連接
        Set dbConnection = Server.CreateObject("ADODB.Connection")
        dbConnection.open "Driver={Microsoft Access Driver (*.mdb)};"&_
        "DBQ=C:\inetpub\wwwroot\test\Email.mdb"
        '獲取所選擇客戶的電子信箱
        Set rsCustomers = Server.CreateObject("ADODB.RecordSet")
        rsCustomers.Open "Select CustomerName,CustomerEmail From EmailList where CustomerId in ("&_
        Request("CustomerId")&")",dbConnection,1,3,1
        while not rsCustomers.eof
        '給一個客戶發電子郵件
        Set myMail = CreateObject("CDONTS.NewMail") 
        myMail.From = "sales@test.com"
        myMail.value("Reply-To") = "sales@test.com"
        myMail.To = rsCustomers("CustomerEmail")
        myMail.Subject = "來自王發軍的新年問候" 
        myMail.BodyFormat = 1
        myMail.MailFormat = 1 
        myMail.Body = "王發軍向"&rsCustomers("CustomerName")&"問好!"
        myMail.Send 
        Set myMail = Nothing 
        %>
        <br>給<a href="mailto:<%=rsCustomers("CustomerEmail")%>"><%=rsCustomers("CustomerName")%></a>
        發送電子郵件成功!
        <%
        rsCustomers.MoveNext
        wend
        rsCustomers.close
        set rsCustomers = nothing
        dbConnection.close
        set dbConnection = nothing
        %>
        <br>在所選擇的客戶發送電子郵件完畢!
        </body></html>

        以上程序在WINNT4.0+IIS4.0+ASP2.0+Access97下調試通過。
        (作者:王發軍 wangfajun@163.net  http://wangfajun.163.net)  
        相關教程
                
        免费看成年人视频大全_免费看成年人视频在线观看