Saya menemukannya dengan mencari informasi secara online, tetapi saya menemukan beberapa masalah saat debugging.
Setelah dilakukan beberapa modifikasi, masih terdapat beberapa kendala, namun dapat digunakan untuk penggunaan umum.
Masalah tipe data dan perbedaan antara SQL Server dan akses tidak dipertimbangkan. Saya akan memperbaikinya ketika saya punya waktu di masa depan.
Jika ada yang memperbaikinya, kirimkan saya salinannya.
<%
'Kelas yang menghasilkan string SQL.
'Karya asli: Anonim
'Peningkatan: aloksi
'Email: [email protected]
'OKIQ:331622229
kelasSQLString
'***************************************
'Definisi variabel
'***************************************
'sTableName ---- nama tabel
'iSQLType ---- Jenis pernyataan SQL: 0-tambah, 1-perbarui, 2-hapus, 3-kueri
'sWhere ---- kondisi
'sOrder ---- metode penyortiran
'SQL ----ValuePrivate
sTableName,iSQLType,sWhere,sOrder,sSQL
'******************************** * ***
'Inisialisasi/akhir kelas
'************************************
Sub Pribadi Class_Initialize()
NamaTabel=""
iSQLJenis=0
di mana = ""
sPesan = ""
sSQL = ""
Sub Akhir
Sub Pribadi Class_Terminate()
Sub Akhir
'***************************************
'milik
'***************************************
'Atur properti nama tabel
Properti Publik Biarkan Nama Tabel(nilai)
sTableName=nilai
Properti Akhir
'Tetapkan kondisi
Milik Umum Biarkan Dimana(nilai)
sDimana=nilai
Properti Akhir
'Tetapkan metode penyortiran
Kepemilikan Umum Biarkan Tertib (nilai)
sPesanan=nilai
Properti Akhir
'Atur jenis pernyataan kueri
Properti publik Biarkan SQLType(nilai)
iSQLType=nilai
pilih kasus iSQLType
kasus 0
sSQL="masukkan ke dalam nilai #0 (#1) (#2)"
kasus 1
sSQL="perbarui #0 set #1=#2"
kasus 2
sSQL="hapus dari #0 "
kasus 3
sSQL="pilih #1 dari #0 "
akhir pilih
Properti Akhir
'************************************
'fungsi
'***************************************
'Tambahkan bidang (nama bidang, nilai bidang)
Sub Bidang Tambahan Publik (sFieldName, sValue)
pilih kasus iSQLType
kasus 0
sSQL=ganti(sSQL,"#1",sNamaField & ",#1")
sSQL=ganti(sSQL,"#2","'" & sValue & "',#2")
kasus 1
sSQL=ganti(sSQL,"#1",sNamaField)
sSQL=ganti(sSQL,"#2","'" & sValue & "',#1=#2")
kasus 3
sSQL=ganti(sSQL,"#1",sNamaField & ",#1")
Pilihan Akhir
Akhiri Sub
'Kembalikan pernyataan SQL
Fungsi Publik ReturnSQL()
sSQL=ganti(sSQL,"#0",sTableName)
pilih kasus iSQLType
kasus 0
sSQL=ganti(sSQL,",#1","")
sSQL=ganti(sSQL,",#2","")
kasus 1
sSQL=ganti(sSQL,",#1=#2","")
kasus 3
sSQL=ganti(sSQL,",#1","")
akhir Pilih
jika sWhere<>"" dan iSQLType<>0 maka
sSQL=sSQL & " di mana " & sDi mana
berakhir jika
jika sOrder<>"" dan iSQLType<>0 maka
sSQL=sSQL & " pesan berdasarkan " & sPesan
berakhir jika
KembaliSQL=sSQL
Fungsi Akhir
'Hapus pernyataanPublik
Sub Hapus()
NamaTabel=""
iSQLJenis=0
di mana = ""
sPesan = ""
sSQL = ""
Akhiri Sub
Akhiri kelas
%>
<%
'Berikut ini adalah contoh pemanggilan. Untuk masalah tipe data, silakan lanjutkan mengubah definisi pada kelas di atas.
set a =new SQLString 'Buat objek kelas
a.TableName=" pesan " 'Setel nama tabel ke pesan
'a.where=" kirim =9"
'a.order=" kirim desc"
a.SQLType=0 'Atur jenis kueri untuk menambahkan catatan
a.TambahkanField "incept", "2"
a.AddField " pengirim ", " 3 "
a.Tambahkan Bidang " judul ", " 4 "
a.AddField " pengirim ", "5 "
a.Tambahkan Bidang " konten ", " 6 "
a.AddField "waktu pengiriman", "7"
a.Tambahkan Bidang "bendera", 8
a.AddField " issend ", 9
Respon.Tulis a.ReturnSQl
atur a=tidak ada
%>