国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

ASP技術在論壇中的運用(三)(吐血推薦!!!!)

2019-11-18 22:42:08
字體:
來源:轉載
供稿:網友
 先要給出一個表單,能夠讓網友輸入注冊信息,這些是HTML的內容,且放在一邊,我們來仔細看看具體實現注冊的asp腳本。

  ' 將數據中的單引號改成兩個單引號,并且在前后加上單引號

  Function SqlStr( data )

   SqlStr = "'" & Replace( data, "'", "''" ) & "'"

  End Function

  這是一個自定義的函數,用來把用戶輸入中的單引號(’)轉換成兩個單引號(’’)。在ASP中,用雙引號圍著的是字符串,因而上面的"'"代表的就是只有一個單引號的字符串。之所以要把一個單引號換成兩個單引號,這是因為在SQL語句中,用單引號圍起來是用來代表變量的。為了不至于混淆,就要把字符串中的單引號用兩個單引號來表示。而所有的用戶輸入都要作為變量嵌入到SQL語句中的,所以這個函數是必不可少的。

  

  '存貯準備

  id=Request("id")

  passWord=Request("password")

  nickname=Request("nickname")

  email=Request("email")

  sex=request("sex")

  

  把來自用戶輸入表單中的內容保存在變量中,這不是必須的,但寫了更容易讀寫。

  

  if Request("name")="" then name=" " else name=request("name")

  if Request("phone")="" then phone=" " else phone=request("phone")

  

  因為這些內容不是必須填的,為了防止用戶沒有輸入任何內容,而造成數據庫操作上的錯誤,就必須把沒有填入字段用空格來代替。

  

  '建立連接

  Set conn = Server.CreateObject("ADODB.Connection")

  conn.Open "driver={Microsoft access Driver (*.mdb)};dbq=" & Server.MapPath("bbssystem.mdb")

  

   這一段是建立數據庫連接,數據庫的名稱為bbssystem.mdb,這一段中唯一要注意的是Server.MapPath函數的應用。一般來說,凡是涉及到具體的目錄的地方,都不要直接使用目錄名,而用Server.MapPath函數來代替。善用好Server.MapPath和Request.ServerVariables()等函數,能夠讓你的WEB應用具有更好的可移植性。

  

  Set cmd = Server.CreateObject("ADODB.Command")

  '查詢作者是否已存在

  Set cmd.ActiveConnection = conn

  cmd.CommandText = "查詢作者"

   ReDim param(0) ' 聲明參數數組

  param(0) = CStr(id) ' Cint 不可忽略

  Set rs = cmd.Execute( ,param )

  

  這一段就是用來執行存貯查詢的。在ADO中執行查詢的方法有很多種,但是對于存貯查詢就只能使用Command對象了。首先,建立了一個叫做cmd的Command對象,然后把conn連接對象賦給cmd對象的ActiveConnection屬性,把要執行的查詢名稱"查詢作者"賦給CommandText屬性,然后為查詢參數賦值。我們聲明了一個參數數組param(0),因為在"查詢作者"這個查詢中只有一個參數,所以數組就只有一個分量了。一般的,在查詢中有幾個參數,就要申明有相應分量個數的參數數組。并且參數出現的順序是個數組中分量的順序是對應的。在使用參數查詢的過程中,尤其要注意的是,參數的類型要嚴格匹配,否這就會出錯,所以上面的CStr()類型轉換函數是不可缺少的。

  

  if not (rs.eof or rs.bof) then

  response.write "

錯誤,你輸入的ID號已經被占用,請換一個再試試!
"

  

  else

  

  sql = "Insert Into 作者表 (id, 昵稱, Email, 密碼,姓名,學校,系別,性別,電話) Values( "

  sql = sql & SqlStr(id) & ", "

  sql = sql & SqlStr(nickname) & ", "

  sql = sql & SqlStr(email) & ", "

  sql = sql & SqlStr(password) & ", "

  sql = sql & SqlStr(name) & ", "

  sql = sql & SqlStr(school) & ", "

  sql = sql & SqlStr(department) & ", "

  sql = sql & SqlStr(sex) & ", "

  sql = sql & SqlStr(phone) & ")"

  

  conn.Execute sql

  調用一個SQL的Insert語句把數據插入到數據庫中。其實這一查詢也可以做成存貯查詢放在數據庫中,我偷了點懶:-)不過對比之下也可以看到存貯查詢的好處,運行時查詢寫起來實在是太麻煩了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 汝南县| 大洼县| 土默特左旗| 孝昌县| 灌阳县| 浮梁县| 怀来县| 富锦市| 富源县| 望江县| 钦州市| 墨竹工卡县| 屯门区| 综艺| 铁力市| 高淳县| 玉田县| 海宁市| 革吉县| 中山市| 龙井市| 西峡县| 卓资县| 宜兰市| 长丰县| 昭平县| 靖远县| 遵义县| 浙江省| 皋兰县| 马边| 南郑县| 延庆县| 武乡县| 二连浩特市| 新野县| 铜川市| 云阳县| 浮梁县| 南靖县| 阆中市|