|
在 VB&VBScript中訪問(wèn)數(shù)據(jù)庫(kù)的時(shí)候最常用的是以下兩種語(yǔ)句:
1、選擇查詢(select),返回結(jié)果集; 2、動(dòng)作查詢(update、insert、delete等),無(wú)結(jié)果集。 無(wú)論哪一種語(yǔ)句,經(jīng)常需要根據(jù)用戶的輸入來(lái)構(gòu)造符合 SQL語(yǔ)法的字符串,提交給連結(jié)對(duì)象或結(jié)果集對(duì)象來(lái)執(zhí)行(open或 execute方法),在 VB&VBScript中,標(biāo)記字符串變量?jī)?nèi)容用雙引號(hào),如:strSql="select * from UserList" 在組織字符串的時(shí)候要考慮將用戶輸入的單引號(hào)替換成兩個(gè)連續(xù)的單引號(hào),此時(shí)要用到Replace函數(shù): 程序代碼: strSql="insert into UserList (UserName,Password) values (" & replace(me.txtUserName.text,"'","''") &"," & replace(me.txtPassword.text,"'","''") & ")" 結(jié)果為:
程序代碼: insert into UserList (UserName,Password) values ('MouseFly','12''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''3'''''''''''''''''''''''''''''''') 如果使用的是VBScript則me.txtUserName.text和me.txtPassword.text要換成相應(yīng)的瀏覽器提交的內(nèi)容,如request.form("UserName")和request.form("Password")。
如果賦值的字段類型是數(shù)字型的,則要去掉字符串兩端的單引號(hào),假設(shè)Password字段是數(shù)值型,并且用戶輸入的是“1234”,則(此處略去數(shù)字輸入校驗(yàn)):
程序代碼:
strSql="insert into UserList (UserName,Password) values (" & "''''''''''''''''''''''''''''''''" & me.txtUserName.text & "''''''''''''''''''''''''''''''''," & me.txtPassword.text & ")" 生成的結(jié)果為: insert into UserList (UserName,Password) values (''''''''''''''''''''''''''''''''MouseFly'''''''''''''''''''''''''''''''',1234) 如果字段類型是日期型,在 ADO中和處理字符串差不多,只不過(guò)要注意日期型字段的格式,最好在組織 SQL字符串的時(shí)候?qū)θ掌谶M(jìn)行格式化保證年份是4位,如:
程序代碼:
strSql="insert into UserList (UserName,Password,BirthDay) values (" & "''''''''''''''''''''''''''''''''" & me.txtUserName.text & "''''''''''''''''''''''''''''''''," & me.txtPassword.text & "," & "''''''''''''''''''''''''''''''''" & format(me.txtBirth.text,"yyyy-mm-dd") & "'''''''''''''''''''''''''''''''')" 生成的結(jié)果為: insert into UserList (UserName,Password,BirthDay) values (''''''''''''''''''''''''''''''''MouseFly'''''''''''''''''''''''''''''''',1234,''''''''''''''''''''''''''''''''1975-01-15'''''''''''''''''''''''''''''''') 如果使用的是VBScript,對(duì)日期進(jìn)行格式化使用FormatDatetime函數(shù)。 本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/hjh032722/archive/2008/11/18/3325439.aspx
|
|
|