免费体验120秒视频_榴莲榴莲榴莲榴莲官网_2021国产麻豆剧果冻传媒入口_一二三四视频社区在线
當前位置:首頁文章首頁 IT學院 IT技術

ASP開發的三個技巧

作者:  來源:  發布時間:2011-5-31 14:59:50  點擊:

本文提供給大家分享的是在ASP開發中的三個技巧,希望能對大家派上用場。

一、 服務器端文件的動態包含(注一)
  在ASP開發過程中,我們經常會將通用的函數制作成一個獨立的ASP文件,然后通過Include方法引入需要的頁面。由于在執行過程中,服務器會首先運行采用Include方法包含的文件,然后才是當前頁面的代碼,所以,在實際執行過程中我們不可能使用Include方法來實現服務器端的動態包含。
  看下面一段代碼:
  <%
  i=1
  str = "file" & i & "/a.asp"
  %>
  <!--#include virtual ="<% str %>"-->
  我們的本意是希望根據I的不同取值,包含不同目錄下的同名文件,可是在執行過程中,卻會返回“找不到包含文件 '<% str %>'。”的錯誤。也就是說在ASP中,我們不可能使用Include方法實現文件的動態包含。
  要在ASP中實現真正的動態文件包含,目前可行的方法是使用Server.Execute命令。Server.Execute是ASP3.0新增的一個控制程序流的新方法,可以在運行過程中臨時轉移到一個文件、執行其內容,然后再返回原先的程序。
  使用Server.Execute命令重新書寫的代碼如下:
  <%
  i=1
  str = "file" & i & "/a.asp"
  Server.Execute str
  %>
  注一:本文討論的文件動態包含,主要指包含文件為變量的情況,有別于被包含的文件名事先確定的情況。
  
  二、 數據庫記錄的批量刪除
  在用ASP開發管理程序中,會不可避免地涉及刪除數據庫記錄的操作。一般我們會采用下面兩種方法刪除記錄:使用Recordset.Delete方法或者直接使用SQL語句“Delete from 數據表 Where 主鍵=值”。而本文將要介紹的這種方法則可以同時刪除一條或多條記錄。下面我們首先來看一個具體的例子,在這個例子中我們會用到一張數據表(Subject)和兩個ASP文件(list.asp和code.asp),該數據表包含了兩個字段:
  ID、數據表主鍵,用來唯一標示數據庫中的記錄;
  Title:標題,用來顯示記錄的內容。
  兩個ASP文件的內容如下:
  list.asp
  <%@ Language=VBScript %>
  <%
  
   '創建數據庫連接
   Dim objConn
   Set objConn = Server.CreateObject("ADODB.Connection")
   objConn.Open"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Samples\Tooltips.mdb"
  
   '創建記錄集
   Dim objRS
   Set objRS = Server.CreateObject("ADODB.Recordset")
   objRS.Open "Subject", objConn
  
   '顯示記錄列表
   Response.Write "<FORM METHOD=POST ACTION=""Code.asp"">"
   Response.Write "<TABLE BORDER=1 CELLSPACING=1>"
  
   Response.Write "<TR>"
   Response.Write "<TH>刪除</TH>"
   Response.Write "<TH>標題</TH>"
   Response.Write "</TR>"
  
   Do While Not objRS.EOF
   Response.Write "<TR>"
   Response.Write "<TD><INPUT TYPE=CHECKBOX NAME=Delete "
   Response.Write "VALUE=" & CInt(objRS("ID")) & "></TD>"
   Response.Write "<TD>" & objRS("Title") & "</TD>"
   Response.Write "</TD></TR>"
   objRS.MoveNext
   Loop
  
   Response.Write "</TABLE>"
   Response.Write "<P><INPUT TYPE=SUBMIT VALUE=""刪除"">"
   Response.Write "</FORM>"
  
   ‘關閉ADO對象
   objRS.Close
   Set objRS = Nothing
  
   objConn.Close
   Set objConn = Nothing
  %>
  code.asp
  <%@ Language=VBScript %>
  <%
  
   '獲取刪除的記錄列表
   Dim strDeleteList
   strDeleteList = Request.Form ("Delete")
  
  
   '創建一個連接對象
   Dim objConn
   Set objConn = Server.CreateObject("ADODB.Connection")
   objConn.Open"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Samples\Tooltips.mdb"
  
   '生成刪除記錄的SQL語句
   Dim strSQL
   strSQL = "DELETE FROM Subject WHERE ID IN (" & strDeleteList & ")"
  
   ‘執行刪除操作
   objConn.Execute strSQL
  
   '關閉連接對象
   objConn.Close
   Set objConn = Nothing
  %>
  從上面的代碼可以看到,我們首先在list.asp頁面中生成一個記錄列表,每條記錄前面都包含了一個Checkbox,這些CheckBox都使用了同一個名稱,每個CheckBox的取值對應數據表中的唯一記錄,由于在ASP中,如果一個表單上包含多個相同命名的控件,會返回一個以“,”分隔的字符串,所以,在Code.asp文件中,我們首先取得所有Checkbox對應的取值,然后利用一個SQL語句“Delete from subject where id in (str)”完成記錄的刪除。其中的關鍵就在于“DELETE FROM TableNameWHERE TableID IN (String)”這個SQL語句。

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
免费体验120秒视频_榴莲榴莲榴莲榴莲官网_2021国产麻豆剧果冻传媒入口_一二三四视频社区在线
主站蜘蛛池模板: 久久久无码精品国产一区| 国产拍拍拍无码视频免费| 国产一区二区精品久久| 成人爱做日本视频免费| 久久观看视频| 国产成人综合久久精品下载| 国产91综合| 亚洲黄色性视频| 欧美操p| 免费日韩一级片| 99热在线精品免费播放6| 无限看片在线版免费视频大全| 在线观看亚洲视频| 欧美性视频18~19| 欧美精品亚洲精品日韩专区va| 无码人妻精品一二三区免费| 亚洲欧美一区二区三区日产| 亚洲欧洲在线播放| 欧美成人三级一区二区在线观看| 最近2019中文字幕大全第二页| 欧美日韩中文字幕在线观看| 中文字幕第23页| 欧美中日韩在线| 爱情岛永久入口网址首页| 狠狠综合视频精品播放| 好吊妞998视频免费观看在线| 91久久国产| 亚洲AV无一区二区三区久久| 亚洲va韩国va欧美va| 久久久午夜精品福利内容| 狼群视频在线观看www| 久久婷婷电影网| 国产精品自产拍在线观看| 天堂√最新版中文在线| 亚洲av无码乱码在线观看| 人妻系列无码专区久久五月天 | 亚洲高清二区| 亚洲欧美小视频| 国产在线91区精品| 人妻av综合天堂一区| 国产精品无码久久久久|