(TR) これは、(私の調査によると) 知られている最初のコンパクトなクラシック ASP ユーティリティ ライブラリです。頻繁に行う操作を短縮し、データベース作業やソフトウェア開発段階を実用的にスピードアップし、開発を容易にする構造です。既存のライブラリと統合し、開発して配布することができます。スターを付けてウォッチリストに追加することを忘れないでください。
(JA) First Classic ASP コーディング ヘルパー ユーティリティ
(TR) まず、ファイルを物理パスからプロジェクト ファイルに組み込みます。 (英語) ...
<!--#include file= "/{path}/casphelper.asp" -->
(TR) ライブラリを自分で起動したい場合は、以下のコードをプロジェクトに追加して最初に実行します (EN) ...
< %
Set Query = New QueryManager
% >
(TR) これで、すべての操作にQuery変数を使用するだけで済みます。 (英語) ...
< %
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()
% >
SQL クエリを INSERT または UPDATE する場合は、フォーム入力名の値を関連するテーブルの列名と同じに保つ必要があります。図書館はここでいくつかのことを行います。
その結果、ライブラリから 2 種類の応答が返されます。
(TR) RunExtend 関数は単純な戻り関数であり、INSERT パラメータは操作の結果として追加された行の PrimaryKey (ID) 値 (INT) を返します。この結果により、INSERT 操作が成功したかどうかがわかります。 (英語) ...
Query.RunExtend( "INSERT" , "table_name" , Null)
(TR) 用途としては以下のような構造が考えられます。 (英語) ...
< %
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) フォーム構造は次のようになります。 (英語) ...
< 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) 用途としては以下のような構造が考えられます。 (英語) ...
< %
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) フォーム構造は次のようになります。 (英語) ...
< 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 のためにそれらを組み合わせます。制御機構はありません。パラメータエラーはエラー発生に戻ります。 (英語) ...
< %
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 の代替品として使用されます。 (英語) ...
< %
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) 値を返せるようにします。エラーチェックはありません。 (英語) ...
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) パラメータを実装します。 (英語) ...
< %
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) の代わりに使用できます。 (英語) ...
< %
Dim SampleValue
SampleValue = Query.Data( "ID" )
% >
(TR) データの存在が見つからない場合(Null、Empty)、常に結果をEmptyで返すことができます。 (英語) ...
/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」の代わりに使用できるコマンドです。現在のリクエスト データを処理できます。パラメトリック更新を使用して、フォームまたはクエリ文字列パラメータを取得できます。 (英語) ...
< %
Query.Go( "url.asp?some=string" )
Query.Go( "url.asp?some={ID}" )
% >
(TR) 標準のResponse.Write("test")を使用する代わりに、 Query.Echo("test")を使用できます。 (英語) ...
< %
Query.Echo( "test" )
% >
(TR) 標準のResponse.End()の代わりにQuery.Kill()を使用できます。 (英語) ...
< %
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結果が返されます。 (英語) ...
< %
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" であることを挨拶文で確認できます。 (英語) ...
< %
If Query.AllowedMethod( "POST" ) = False Then
Query.Echo "Only POST Method Allowed"
Query.Kill
End If
% >