ฉันพบมันโดยการค้นหาข้อมูลบนอินเทอร์เน็ต แต่ฉันพบปัญหาบางอย่างในระหว่างการแก้ไขจุดบกพร่อง หลังจากแก้ไขแล้ว ยังคงมีปัญหาอยู่บ้าง แต่ก็สามารถใช้งานได้ทั่วไป ปัญหาประเภทข้อมูลและความแตกต่างระหว่าง SQL Server และการเข้าถึงไม่ได้รับการพิจารณา ฉันจะปรับปรุงเมื่อฉันมีเวลาในอนาคต ฉันไม่รู้ว่ามันจะมีประสิทธิภาพแค่ไหน หากใครปรับปรุงกรุณาส่งสำเนามาให้ฉันด้วย
คัดลอกรหัสรหัสดังต่อไปนี้:
-
คลาสSQLString
-
'คำจำกัดความของตัวแปร
-
'sTableName ---- ชื่อตาราง
'iSQLType ---- ประเภทคำสั่ง SQL: 0-เพิ่ม, 1-อัปเดต, 2-ลบ, 3-แบบสอบถาม
'อยู่ที่ไหน ---- สภาพ
'sOrder ---- วิธีการเรียงลำดับ
'sSQL ---- ค่า
sTableName ส่วนตัว, iSQLType, sWhere, sOrder, SQL
-
'การเริ่มต้น/สิ้นสุดคลาส
-
Class_Initialize ส่วนตัว ()
ชื่อตาราง = ""
iSQLType=0
อยู่ที่ไหน = ""
sOrder=""
เอสเอสคิวแอล = ""
จบหมวดย่อย
Class_Terminate ส่วนตัวย่อย ()
จบหมวดย่อย
-
'คุณสมบัติ
-
'กำหนดคุณสมบัติของชื่อตาราง'
ทรัพย์สินสาธารณะให้ TableName(value)
sTableName=ค่า
สิ้นสุดคุณสมบัติ
'กำหนดเงื่อนไข
ทรัพย์สินสาธารณะ Let Where (มูลค่า)
sที่ไหน=ค่า
สิ้นสุดคุณสมบัติ
'ตั้งค่าวิธีการเรียงลำดับ
ทรัพย์สินสาธารณะ Let Order(มูลค่า)
sOrder=มูลค่า
สิ้นสุดคุณสมบัติ
'กำหนดประเภทของคำสั่งแบบสอบถาม
ทรัพย์สินสาธารณะให้ SQLType (ค่า)
iSQLType=ค่า
เลือกกรณี iSQLType
กรณีที่ 0
sSQL="แทรกลงในค่า {&*#}0 ({&*#}1) ({&*#}2)"
กรณีที่ 1
sSQL="อัปเดต {&*#}0 ชุด {&*#}1={&*#}2"
กรณีที่ 2
sSQL="ลบจาก {&*#}0 "
กรณีที่ 3
sSQL="เลือก {&*#}1 จาก {&*#}0 "
สิ้นสุดการเลือก
สิ้นสุดคุณสมบัติ
-
'การทำงาน
-
'เพิ่มฟิลด์ (ชื่อฟิลด์, ค่าฟิลด์)
AddField ย่อยสาธารณะ (sFieldName, sValue)
เลือกกรณี iSQLType
กรณีที่ 0
sSQL=replace(sSQL,"{&*#}1",sFieldName & ",{&*#}1")
sSQL=replace(sSQL,"{&*#}2","" & sValue & ",{&*#}2")
กรณีที่ 1
sSQL=replace(sSQL,"{&*#}1",sFieldName)
sSQL=replace(sSQL,"{&*#}2","" & sValue & ",{&*#}1={&*#}2")
กรณีที่ 3
sSQL=replace(sSQL,"{&*#}1",sFieldName & ",{&*#}1")
สิ้นสุดการเลือก
จบหมวดย่อย
'ฟังก์ชันแก้ไขที่ส่งคืนค่าสตริง
'ส่งคืนคำสั่ง SQL
ฟังก์ชั่นสาธารณะ ReturnSQL()
sSQL=replace(sSQL,"{&*#}0",sTableName)
เลือกกรณี iSQLType
กรณีที่ 0
sSQL=แทนที่(sSQL,",{&*#}1","")
sSQL=แทนที่(sSQL,",{&*#}2","")
กรณีที่ 1
sSQL=แทนที่(sSQL,",{&*#}1={&*#}2","")
กรณีที่ 3
sSQL=แทนที่(sSQL,",{&*#}1","")
สิ้นสุด เลือก
ถ้า sWhere<>"" และ iSQLType<>0 แล้ว
sSQL=sSQL & " โดยที่ " & sWhere
สิ้นสุดถ้า
ถ้า sOrder<>"" และ iSQLType<>0 แล้ว
sSQL=sSQL & " เรียงลำดับตาม " & sOrder
สิ้นสุดถ้า
ReturnSQL=sSQL
ฟังก์ชันสิ้นสุด
'ส่งคืนคำสั่ง SQL
ฟังก์ชั่นสาธารณะ ReturnSQL1()
sSQL=replace(sSQL,"{&*#}0",sTableName)
เลือกกรณี iSQLType
กรณีที่ 0
sSQL=แทนที่(sSQL,",{&*#}1","")
sSQL=แทนที่(sSQL,",{&*#}2","")
กรณีที่ 1
sSQL=แทนที่(sSQL,",{&*#}1={&*#}2","")
กรณีที่ 3
sSQL=แทนที่(sSQL,",{&*#}1","")
สิ้นสุด เลือก
ถ้า sWhere<>"" และ iSQLType<>0 แล้ว
sSQL=sSQL & " โดยที่ " & sWhere
สิ้นสุดถ้า
ถ้า sOrder<>"" และ iSQLType<>0 แล้ว
sSQL=sSQL & " เรียงลำดับตาม " & sOrder
สิ้นสุดถ้า
ReturnSQL=sSQL
ฟังก์ชันสิ้นสุด
'แถลงการณ์ชัดเจน
สาธารณะ SubClear()
ชื่อตาราง = ""
iSQLType=0
อยู่ที่ไหน = ""
sOrder=""
เอสเอสคิวแอล = ""
จบหมวดย่อย
จบคลาส
-
ตัวอย่างการโทร:
-
ตั้งค่า = new SQLString 'สร้างคลาสอ็อบเจ็กต์
a.TableName=" message " 'ตั้งชื่อตารางเป็นข้อความ
'a.where=" ส่ง =9"
'a.order=" ออกส่งรายละเอียด"
a.SQLType=0 'ตั้งค่าประเภทการสืบค้นเพื่อเพิ่มบันทึก
ก.AddField "incept", "'2'"
a.AddField " ผู้ส่ง ", "'%3%' "
a.AddField " title ", "#"&ตอนนี้&"#"
ก.AddField " ผู้ส่ง ", "5 "
ก.AddField "เนื้อหา", "6"
ก.AddField " sendtime ", "7"
ก.AddField "ธง", 8
ก.AddField "ส่ง", 9
Response.เขียน a.ReturnSQl
ตั้ง a=ไม่มีอะไร
-
-
ตั้งค่า = new SQLString 'สร้างคลาสอ็อบเจ็กต์
a.TableName=" message " 'ตั้งชื่อตารางเป็นข้อความ
'a.where=" ส่ง =9"
'a.order=" ออกส่งรายละเอียด"
a.SQLType=0 'ตั้งค่าประเภทการสืบค้นเพื่อเพิ่มบันทึก
ก.AddField "incept", "'2'"
a.AddField " ผู้ส่ง ", "'%3%' "
a.AddField " title ", "#"&ตอนนี้&"#"
ก.AddField " ผู้ส่ง ", "5 "
ก.AddField "เนื้อหา", "6"
ก.AddField " sendtime ", "7"
ก.AddField "ธง", 8
ก.AddField "ส่ง", 9
Response.เขียน a.ReturnSQl
ตั้ง a=ไม่มีอะไร
-
-
ตั้งค่า = new SQLString 'สร้างคลาสอ็อบเจ็กต์
a.TableName=" message " 'ตั้งชื่อตารางเป็นข้อความ
'a.where=" ส่ง =9"
'a.order=" ออกส่งรายละเอียด"
a.SQLType=0 'ตั้งค่าประเภทการสืบค้นเพื่อเพิ่มบันทึก
ก.AddField "incept", "'2'"
a.AddField " ผู้ส่ง ", "'%3%' "
a.AddField " title ", "#"&ตอนนี้&"#"
ก.AddField " ผู้ส่ง ", "5 "
ก.AddField "เนื้อหา", "6"
ก.AddField " sendtime ", "7"
ก.AddField "ธง", 8
ก.AddField "ส่ง", 9
Response.เขียน a.ReturnSQl
ตั้ง a=ไม่มีอะไร
-