(TR) 它是第一個已知的緊湊型經典 ASP 實用程式庫(根據我的研究)。它的結構可以縮短您經常執行的操作,以實用性幫助您加快資料庫工作和軟體開發階段,讓您的開發變得更加輕鬆。您可以將其與現有庫整合、開發和分發。請不要忘記給它一顆星並將其添加到您的觀察清單中。
(EN) 第一個經典 ASP 編碼助手實用程序
(TR) 首先,將檔案從其實體路徑包含到專案文件中。 (CN) ...
<!--#include file= "/{path}/casphelper.asp" -->
(TR) 如果您想自己啟動該庫,請將以下程式碼新增至您的專案中以首先執行 (EN) ...
< %
Set Query = New QueryManager
% >
(TR) 現在您只需使用Query變數來執行所有操作。 (CN) ...
< %
Dim Query
Set Query = New QueryManager
Query.Debug = False
Query.Host = "localhost"
Query.Database = "my_db_name"
Query.User = "my_db_username"
Query.Password = "MyS3c3tP4ssw0d"
Query.Connect()
% >
如果我們想要 INSERT 或 UPDATE SQL 查詢,我們需要保持表單輸入名稱值與相關表格的欄位名稱相同。圖書館在這裡做了一些事情。
結果,從庫傳回兩種類型的回應。
(TR) RunExtend 函數是一個簡單的回傳函數,INSERT 參數傳回作為操作結果新增的行的primaryKey (ID) 值(INT)。此結果告知 INSERT 操作是否成功。 (CN) ...
Query.RunExtend( "INSERT" , "table_name" , Null)
(TR) 可以使用以下結構作為範例。 (CN) ...
< %
If Query.Data( "Cmd" ) = "InsertSample" Then
Dim QueryResult
QueryResult = Query.RunExtend( "INSERT" , "tbl_users" , Null)
If IsNumeric( QueryResult ) Then
Response.Write "Başarılı / Success"
Response.Write "ID: " & QueryResult
Else
Response.Write "Başarısız / Failed"
End If
End If
% >
(TR) 表單結構應如下所示。 (CN) ...
< form action =" /?Cmd=InsertSample " method =" post " >
< input name =" NAME " value =" Anthony Burak " />
< input name =" SURNAME " value =" Dursun " />
< input name =" BIRTHDAY " value =" 24.07.1986 " />
< button type =" submit " > Insert </ button >
</ form >
(TR) 資料庫結構如下 (EN) ...
欄位名稱 | 類型 |
---|---|
ID | (INT) 主鍵 |
姓名 | (VARCHAR) |
姓 | (VARCHAR) |
生日 | (日期) |
(TR) RunExtend 函數是一個簡單的回傳函數,UPDATE 參數傳回true或false (布林值)作為操作結果。此結果告知 UPDATE 作業是否成功 (EN)...
Query.RunExtend( "UPDATE" , "table_name" , "ID={ID}" )
(TR) 可以使用以下結構作為範例。 (CN) ...
< %
If Query.Data( "Cmd" ) = "UpdateSample" Then
Dim QueryResult
QueryResult = Query.RunExtend( "UPDATE" , "tbl_uyeler" , "ID={ID}" )
If QueryResult = True Then
Response.Write "Başarılı / Success"
Else
Response.Write "Başarısız / Failed"
End If
End If
% >
(TR) 表單結構應如下所示。 (CN) ...
< form action =" /?Cmd=UpdateSample&ID=123 " method =" post " >
< input name =" NAME " value =" Anthony Burak " />
< input name =" SURNAME " value =" Dursun " />
< input name =" BIRTHDAY " value =" 24.07.1986 " />
< button type =" submit " > Update </ button >
</ form >
(TR) 資料庫結構如下 (EN) ...
欄位名稱 | 類型 |
---|---|
ID | (INT) 主鍵 |
姓名 | (VARCHAR) |
姓 | (VARCHAR) |
生日 | (日期) |
(TR) 該函式庫的第一個版本中 Collector 和 Run 指令的組合如下。 CollectForm 函數會收集 FORM Post 方法隨附的 Request.Form 參數,並將它們組合起來進行 INSERT 或 UPDATE。沒有控制機制。參數錯誤回傳錯誤引發。 (CN) ...
< %
If Query.Data( "Cmd" ) = "UpdateSample" Then
Query.CollectForm( "INSERT" )
Query.AppendRows = "EKSTRA1, EKSTRA2"
Query.AppendValues = "'Manuel Eklenecek Veri 1', 'Manuel Eklenecek Veri 2'"
Query.Run( "INSERT INTO tbl_tableName(" & Query.Rows & ") VALUES(" & Query.Values & ")" )
Query.Go( "?Msg=Success" )
End If
% >
(TR) 將 SQL 查詢的結果傳回為true或false 。它在傳統方法中用作 EOF 替代品。 (CN) ...
< %
Dim QueryResult
QueryResult = Query.RecordExist( "SELECT ID FROM tbl_users WHERE ID = 1" )
If QueryResult = True Then
Response.Write "Record Exist"
Else
Response.Write "Record Not Exist"
End If
% >
(TR) 允許在任何表格和條件中傳回最大 ID (PrimaryKey) 值。沒有錯誤檢查。 (CN) ...
Query.MaxID( "tbl_tableName" )
(TR) 對於有條件的情況 (EN) ...
Query.MaxID( "tbl_tableName WHERE EMAIL = '[email protected]'" )
(TR) 此函數唯一的客製化是可以取代透過Request.Querystring接收的資料。如果URL結構為/?Cmd=Update&ID=123,則查詢中的{ID}參數將更新為123 。 。它實作了標準 obj.Execute(sql) 參數。 (CN) ...
< %
Query.Run( "SELECT ID FROM tbl_tableName WHERE ID = {ID} " )
Query.Run( "SELECT ID FROM tbl_tableName WHERE ID = " & Query.Data( "ID" ) & " " )
Query.Run( "SELECT ID FROM tbl_tableName WHERE ID = 1 " )
% >
(TR) 如果您想要取得表單或查詢字串數據,可以將其作為Query.Data("key")或內聯為{key}取得。即使是 404 url 結構,您的軟體也會捕捉所有參數。可以用來代替 Requet.Form(key) 或 Request.QueryString(key)。 (CN) ...
< %
Dim SampleValue
SampleValue = Query.Data( "ID" )
% >
(TR) 如果未發現資料存在(Null、Empty),則結果始終可以以 Empty 傳回。 (CN) ...
/script.asp?Cmd=Test&Data1=value&Data2=&Data3=value3
/ 404 url/params/?Cmd=Test&Data1=value&Data2=&Data3=value3
< %
Response.Write Query.Data( "Cmd" ) ' return Test (String)
Response.Write Query.Data( "Data1" ) ' return value (String)
Response.Write Query.Data( "Data2" ) ' return
Response.Write Query.Data( "Data3" ) ' return value3 (String)
% >
(TR) Response.Redirect 是一個命令,您可以在完成事務後使用它來代替“url.asp?some=string”,您可以處理當前的請求資料。參數更新可用於檢索表單或查詢字串參數。 (CN) ...
< %
Query.Go( "url.asp?some=string" )
Query.Go( "url.asp?some={ID}" )
% >
(TR) 可以使用 Query.Echo( "test"),而不是使用標準 Response.Write( "test" ) 。 (CN) ...
< %
Query.Echo( "test" )
% >
(TR) 可以使用Query.Kill()來取代標準Response.End() 。 (CN) ...
< %
Query.Kill()
% >
(TR) 它可以檢查任何變數是否存在。執行 IsNull、IsEmpty、Len()>0 檢查並傳回true或false (布林)結果 (EN) ...
< %
str_value1 = ""
str_value2 = 2
If Query.Exist(str_value1) = True Then
' return true
End If
If Query.Exist(str_value2) = False Then
' return false
End If
% >
(TR) 搜尋數組組中的任何字串資料。它執行精確匹配檢查並應用自動 Trim()。如果找到結果,則傳回索引號。如果沒有找到結果,則傳回Null結果。 (CN) ...
< %
Dim str_array
str_array = Array( "test" , "apple" , "fruit" , "banana" , "mercedes" )
Dim QueryResult
QueryResult = Query.FindInArray( "apple" , str_array)
If IsNull( QueryResult ) Then
Query.Echo "Not Found"
Else
Query.Echo "apple found in array index: " & QueryResult
End If
% >
(TR) 在某些情況下,您可以僅透過某些方法限制對相關交易區域的存取。例如,如果您對表單使用 Method="POST",則可以在問候語中確認該方法確實是「POST」。 (CN) ...
< %
If Query.AllowedMethod( "POST" ) = False Then
Query.Echo "Only POST Method Allowed"
Query.Kill
End If
% >