參數化語法比較麻煩的是要在網頁中設定參數型別, 還好下面連結中有對應表
https://technet.microsoft.com/en-us/library/aa905895(v=sql.80).aspx
語法如下
sql ="Insert into [Log] (MODTYPE, REMOTEIP, MODTIME, APNAME)"
'要以參數傳入的部份使用問號(?)代替
sql =sql & " values (?,?,?,?)"
cmn.CommandText = sql
'一個一個設定參數
'來源IP
Set param_REMOTEIP = cmn.CreateParameter ("REMOTEIP", adWChar, adParamInput, 20) '設定參數(參數名稱, 型別, 輸出輸入, 參數長度)
param_REMOTEIP.value = lwk_RegisterId '給值
cmn.Parameters.Append param_REMOTEIP '把參數加到參數集合
'登入日期
Set param_MODTIME = cmn.CreateParameter ("MODTIME", adDBTimeStamp, adParamInput, 255) '設定參數(參數名稱, 型別, 輸出輸入, 參數長度)
param_MODTIME.value = FormatDateTime(Now,0) '給值
cmn.Parameters.Append param_MODTIME '把參數加到參數集合
'登入頁
Set param_APNAME = cmn.CreateParameter ("APNAME", adWChar, adParamInput, 500) '設定參數(參數名稱, 型別, 輸出輸入, 參數長度) param_APNAME.value = "http://www.csalu.com.tw/hrRegister/hrRegister.asp" '給值
cmn.Parameters.Append param_APNAME '把參數加到參數集合
'開始錯誤處理 交易要包在裡面喔~!
On Error Resume Next '當發生錯誤時, 不要停止執行, 而繼續執行下一道指令
'執行
cmn.execute()
IF ERR.Number <> 0 THEN '如果有錯 (記得ERR物件要大寫, 用Err抓不到值喔~!)
'錯誤記錄寫入資料庫存查
DIM InsertError2
cmn.CommandText = ""
InsertError2 = "Insert into ErrorLog values (N'hrRegister.asp', N'"& ERR.Number &"',N'"& ERR.Description &"',N'"& ERR.Source &"'"
InsertError2 = InsertError2 & ", '"& FormatDateTime(Now, vbShortDate) & " " & FormatDateTime(Now, vbShortTime) &"',N'"& trim(lwk_RegisterIP) &"')"
'response.write "InsertError=" & InsertError & "<BR>"
cmn.CommandText = InsertError2
'response.write "ERR=" & ERR.Description
'錯誤訊息塞入DB
cmn.Execute
END IF
sql ="Insert into [Log] (IP, 日期, 登入頁)"
'要以參數傳入的部份使用問號(?)代替
sql =sql & " values (?,?,?)"
cmn.CommandText = sql
'一個一個設定參數
'來源IP
Set param_REMOTEIP = cmn.CreateParameter ("REMOTEIP", adWChar, adParamInput, 20)
'設定參數(參數名稱, 型別, 輸出輸入, 參數長度)
param_REMOTEIP.value = lwk_RegisterId '給值
cmn.Parameters.Append param_REMOTEIP '把參數加到參數集合
'登入日期
Set param_MODTIME = cmn.CreateParameter ("MODTIME", adDBTimeStamp, adParamInput, 255)
'設定參數(參數名稱, 型別, 輸出輸入, 參數長度)
param_MODTIME.value = FormatDateTime(Now,0) '給值
cmn.Parameters.Append param_MODTIME '把參數加到參數集合
'登入頁
Set param_APNAME = cmn.CreateParameter ("APNAME", adWChar, adParamInput, 500)
'設定參數(參數名稱, 型別, 輸出輸入, 參數長度)
param_APNAME.value = "AAA.asp" '給值
cmn.Parameters.Append param_APNAME '把參數加到參數集合
'開始錯誤處理 交易要包在裡面喔~!
On Error Resume Next '當發生錯誤時, 不要停止執行, 而繼續執行下一道指令
'執行
cmn.execute()
IF ERR.Number <> 0 THEN '如果有錯 (記得ERR物件要大寫, 用Err抓不到值喔~!)
'錯誤記錄寫入資料庫存查
'錯誤訊息塞入DB
DIM InsertError2
cmn.CommandText = ""
InsertError2 = "Insert into ErrorLog values (N'AAA.asp', N'"& ERR.Number &"',N'"& ERR.Description &"',N'"& ERR.Source &"', N'來源IP', N'發生錯誤日期')"
cmn.CommandText = InsertError2
cmn.Execute
END IF
文章定位: