ฉันพบมันโดยการค้นหาข้อมูลออนไลน์ แต่ฉันพบปัญหาบางอย่างในระหว่างการดีบัก
หลังจากแก้ไขไปบ้างแล้วยังมีปัญหาอยู่บ้างแต่ก็สามารถใช้งานได้ทั่วไปครับ
ปัญหาประเภทข้อมูลและความแตกต่างระหว่าง SQL Server และการเข้าถึงไม่ได้รับการพิจารณา ฉันจะปรับปรุงเมื่อฉันมีเวลาในอนาคต ฉันไม่รู้ว่ามันจะมีประสิทธิภาพแค่ไหน
หากใครปรับปรุงกรุณาส่งสำเนามาให้ฉันด้วย
-
'คลาสที่สร้างสตริง SQL
'งานต้นฉบับ: ไม่ระบุชื่อ
'การปรับปรุง: aloxy
'อีเมล์:[email protected]'
'OICQ:331622229
คลาสSQLString
-
'คำจำกัดความของตัวแปร
-
'sTableName ---- ชื่อตาราง
'iSQLType ---- ประเภทคำสั่ง SQL: 0-เพิ่ม, 1-อัปเดต, 2-ลบ, 3-แบบสอบถาม
'อยู่ที่ไหน ---- สภาพ
'sOrder ---- วิธีการเรียงลำดับ
'sSQL ----ValuePrivate
sTableName,iSQLType,sWhere,sOrder,sSQL
'********************************* * ***
'การเริ่มต้น/สิ้นสุดคลาส
'************************************
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=แทนที่(sSQL,"#2", "'" & sValue & "',#2")
กรณีที่ 1
sSQL=แทนที่(sSQL,"#1",sFieldName)
sSQL=replace(sSQL,"#2", "'" & sValue & "',#1=#2")
กรณีที่ 3
sSQL=replace(sSQL,"#1",sFieldName & ",#1")
สิ้นสุดการเลือก
สิ้นสุดคำสั่งย่อย
'ส่งคืนคำสั่ง SQL
ฟังก์ชั่นสาธารณะ ReturnSQL()
sSQL=แทนที่(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
สิ้นสุดฟังก์ชัน
'ล้างคำสั่งสาธารณะ
ย่อยล้าง()
ชื่อตาราง = ""
iSQLType=0
อยู่ที่ไหน = ""
sOrder=""
เอสเอสคิวแอล = ""
จบหมวดย่อย
จบคลาส
%>
<%
'ต่อไปนี้เป็นตัวอย่างของการเรียก สำหรับปัญหาประเภทข้อมูล โปรดแก้ไขคำจำกัดความในคลาสข้างต้น หากคุณมีคำถามใด ๆ คุณสามารถถามฉันได้
ตั้งค่า = new SQLString 'สร้างคลาสอ็อบเจ็กต์
a.TableName=" message " 'ตั้งชื่อตารางเป็นข้อความ
'a.where=" ส่ง =9"
'a.order=" ออกส่งรายละเอียด"
a.SQLType=0 'ตั้งค่าประเภทการสืบค้นเพื่อเพิ่มบันทึก
ก.AddField "incept", "2"
ก.AddField "ผู้ส่ง", "3"
ก.AddField " title ", " 4 "
ก.AddField " ผู้ส่ง ", "5 "
ก.AddField "เนื้อหา", "6"
ก.AddField " sendtime ", "7"
ก.AddField "ธง", 8
a.AddField " issend ", 9
Response.เขียน a.ReturnSQl
ตั้ง a=ไม่มีอะไร
-