ネットで情報を探して見つけたのですが、デバッグ中にいくつか問題があったので修正したところ、まだ問題はありますが、普通に使えます。データ型の問題と SQL Server とアクセスの違いについては考慮されていませんでした。今後時間があれば改善します。誰かがそれを改善したら、コピーを送ってください。
次のようにコードをコピーします。
<%
クラスSQL文字列
「************************************
'変数の定義
「************************************
'sTableName ---- テーブル名
'iSQLType ----SQL ステートメント タイプ: 0-追加、1-更新、2-削除、3-クエリ
の場所 ---- 条件
'sOrder ---- ソート方法
'sSQL ---- 値
プライベート sTableName、iSQLType、sWhere、sOrder、sSQL
「************************************
'クラスの初期化/終了
「************************************
プライベートサブクラス_Initialize()
sテーブル名=""
iSQLタイプ=0
sWhere=""
s注文=""
sSQL=""
エンドサブ
プライベートサブクラス_Terminate()
エンドサブ
「************************************
'財産
「************************************
'テーブル名のプロパティを設定します
Public プロパティ Let TableName(value)
sテーブル名=値
終了プロパティ
'条件を設定します
Public プロパティ Let Where(value)
sWhere=値
終了プロパティ
'ソート方法を設定する
Public プロパティ Let Order(value)
sOrder=値
終了プロパティ
'クエリ文の種類を設定します
パブリック プロパティ Let SQLType(value)
iSQLType=値
iSQLType のケースを選択してください
ケース0
sSQL="{&*#}0 ({&*#}1) の値に挿入 ({&*#}2)"
ケース1
sSQL="更新 {&*#}0 セット {&*#}1={&*#}2"
ケース2
sSQL="{&*#}0 から削除 "
ケース3
sSQL="{&*#}0 から {&*#}1 を選択"
エンドセレクト
終了プロパティ
「************************************
'関数
「************************************
'フィールドの追加(フィールド名、フィールド値)
Public Sub AddField(sFieldName,sValue)
iSQLType のケースを選択してください
ケース0
sSQL=replace(sSQL,"{&*#}1",sFieldName & ",{&*#}1")
sSQL=replace(sSQL,"{&*#}2","" & sValue & ",{&*#}2")
ケース1
sSQL=replace(sSQL,"{&*#}1",sフィールド名)
sSQL=replace(sSQL,"{&*#}2","" & sValue & ",{&*#}1={&*#}2")
ケース3
sSQL=replace(sSQL,"{&*#}1",sFieldName & ",{&*#}1")
エンドセレクト
エンドサブ
'文字列値を返す変更された関数
'SQL文を返す
パブリック関数 ReturnSQL()
sSQL=replace(sSQL,"{&*#}0",sTableName)
iSQLType のケースを選択してください
ケース0
sSQL=replace(sSQL,",{&*#}1","")
sSQL=replace(sSQL,",{&*#}2","")
ケース1
sSQL=replace(sSQL,",{&*#}1={&*#}2","")
ケース3
sSQL=replace(sSQL,",{&*#}1","")
終了選択
sWhere<>"" および iSQLType<>0 の場合
sSQL=sSQL & " where " & sWhere
終了する場合
sOrder<>"" かつ iSQLType<>0 の場合
sSQL=sSQL & " 並べ替え" & sOrder
終了する場合
ReturnSQL=sSQL
終了機能
'SQL文を返す
パブリック関数 ReturnSQL1()
sSQL=replace(sSQL,"{&*#}0",sTableName)
iSQLType のケースを選択してください
ケース0
sSQL=replace(sSQL,",{&*#}1","")
sSQL=replace(sSQL,",{&*#}2","")
ケース1
sSQL=replace(sSQL,",{&*#}1={&*#}2","")
ケース3
sSQL=replace(sSQL,",{&*#}1","")
終了選択
sWhere<>"" および iSQLType<>0 の場合
sSQL=sSQL & " where " & sWhere
終了する場合
sOrder<>"" かつ iSQLType<>0 の場合
sSQL=sSQL & " 並べ替え" & sOrder
終了する場合
ReturnSQL=sSQL
終了機能
「明確な声明」
パブリック SubClear()
sテーブル名=""
iSQLタイプ=0
sWhere=""
s注文=""
sSQL=""
エンドサブ
終了クラス
%>
呼び出し例:
<%
set a =new SQLString 'クラスオブジェクトの作成
a.TableName=" message " 'テーブル名を message に設定します
'a.where= issend =9"
'a.order=" 説明を送信します"
a.SQLType=0 'レコードを追加するクエリの種類を設定します
a.AddField "開始"、"'2'"
a.AddField " 送信者 ", "'%3%' "
a.AddField " title "、"#"&now&"#"
a.AddField " 送信者 ", "5 "
a.AddField " content "、 " 6 "
a.AddField " sendtime ", "7"
a.AddField "フラグ"、8
a.AddField " issend "、9
Response.Write a.ReturnSQl
a=何も設定しない
%>
<%
set a =new SQLString 'クラスオブジェクトの作成
a.TableName=" message " 'テーブル名を message に設定します
'a.where= issend =9"
'a.order=" 説明を送信します"
a.SQLType=0 'レコードを追加するクエリの種類を設定します
a.AddField "開始"、"'2'"
a.AddField " 送信者 ", "'%3%' "
a.AddField " title "、"#"&now&"#"
a.AddField " 送信者 ", "5 "
a.AddField " content "、 " 6 "
a.AddField " sendtime ", "7"
a.AddField "フラグ"、8
a.AddField " issend "、9
Response.Write a.ReturnSQl
a=何も設定しない
%>
<%
set a =new SQLString 'クラスオブジェクトの作成
a.TableName=" message " 'テーブル名を message に設定します
'a.where= issend =9"
'a.order=" 説明を送信します"
a.SQLType=0 'レコードを追加するクエリの種類を設定します
a.AddField "開始"、"'2'"
a.AddField " 送信者 ", "'%3%' "
a.AddField " title "、"#"&now&"#"
a.AddField " 送信者 "、 " 5 "
a.AddField " content "、 " 6 "
a.AddField " sendtime ", "7"
a.AddField "フラグ"、8
a.AddField " issend "、9
Response.Write a.ReturnSQl
a=何も設定しない
%>