สำหรับผู้ใช้ ASP ยิ่งการดำเนินการฐานข้อมูลง่ายขึ้น ก็ยิ่งมีเวลามากขึ้นในการพิจารณาลอจิกและโค้ดแอปพลิเคชัน และประสิทธิภาพก็จะสูงขึ้น
วันนี้ฉันมาที่นี่เพื่อให้แนวคิดเกี่ยวกับการทำงานของฐานข้อมูลแก่คุณ รหัสเหล่านี้ได้รับการกรอกและแก้ไขอย่างต่อเนื่องในแอปพลิเคชัน ASP ระยะยาวของฉัน ฉันได้ทำหลายโครงการด้วย ปัญหาในการใช้งานโดยตรง แน่นอนว่าความสามารถของฉันมีจำกัด ดังนั้นฉันหวังว่าทุกคนจะพูดคุยเรื่องนี้ด้วยกัน
หมายเหตุ: รหัสในโพสต์นี้เป็นเวอร์ชัน VBScript ทั้งหมด นอกจากนี้ เป็นการดีที่สุดที่คุณมีพื้นฐานในการเขียนด้วยลายมือ ASP อยู่แล้ว
ก่อนอื่น ให้ฉันแนะนำคุณลักษณะบางอย่างของชั้นเรียนของฉันโดยย่อ:
ฐานข้อมูลหลายประเภทสามารถดำเนินการพร้อมกันได้
ไม่จำเป็นต้องพิจารณาถึงความแตกต่างในประเภทข้อมูลเลย และไม่จำเป็นต้องคิดว่าจะเพิ่มเครื่องหมายคำพูดเดี่ยวลงในช่องอักขระหรือไม่
การเรียกทำได้ง่ายมาก และโดยทั่วไปการดำเนินการหลักบนฐานข้อมูลต้องใช้โค้ดเพียงบรรทัดเดียว
รองรับการย้อนกลับธุรกรรม mssql
คำสั่ง SQL สามารถสร้างและส่งออกได้โดยอัตโนมัติเพื่ออำนวยความสะดวกในการดีบัก
วิธีใช้:
1. แก้ไขบรรทัดแรกในไฟล์ clsDbctrl.asp ไปยังตำแหน่งฐานข้อมูลของคุณเอง (โปรดดูคำอธิบายฟังก์ชัน CreatConn ด้านล่างสำหรับวิธีการแก้ไข) หากคุณต้องการเชื่อมต่อกับหลายฐานข้อมูล คุณสามารถเพิ่มฐานข้อมูลเหล่านั้นด้วยตนเองด้วยรูปแบบเดียวกันได้
2. รวมไฟล์ asp นี้ไว้ในไฟล์ asp ใหม่ของคุณ ชอบ:
<!--#include file="Inc/clsDbctrl.asp" --> หรือ:
<!--#include virtual="/Inc/clsDbctrl.asp"-->
3. ใช้รหัสต่อไปนี้เพื่อใช้คลาสนี้:
การเชื่อมต่อฐานข้อมูล:
-
OpenConn() 'เปิดการเชื่อมต่อฐานข้อมูล
Dim db: ตั้งค่า db = New DbCtrl 'สร้างวัตถุ'
'รหัสของคุณที่นี่...
Co(db) : CloseConn() 'ปล่อยวัตถุและปิดการเชื่อมต่อฐานข้อมูล
-
หรือ (การเชื่อมต่อฐานข้อมูลหนึ่งรายการขึ้นไป):
-
Dim db1 : ตั้งค่า db1 = DbCtrl ใหม่ : db1.dbConn = Oc(a)
Dim db2: ตั้งค่า db2 = DbCtrl ใหม่: db2.dbConn = Oc(b)
'รหัสของคุณที่นี่...
ร่วม(db1) : ร่วม(db2)
-
4. สำหรับตัวอย่างการทำงานเฉพาะ โปรดดูตัวอย่างโค้ดในคำอธิบายฟังก์ชันแต่ละรายการ
ภาพรวมของวิธีการและคุณสมบัติ (การใช้งานโดยละเอียดและตัวอย่างอยู่ด้านล่าง):
อ้าง:
CreateConn สร้างสตริงการเชื่อมต่อฐานข้อมูล
Oc สร้างการเชื่อมต่อฐานข้อมูล
ร่วมปล่อยวัตถุ
OpenConn เปิดการเชื่อมต่อฐานข้อมูลเริ่มต้น
CloseConn ปิดการเชื่อมต่อฐานข้อมูลเริ่มต้น
คุณสมบัติ dbCtrl.dbConn รับการเชื่อมต่อฐานข้อมูลที่จะดำเนินการ ค่าเริ่มต้นคือ Conn
คุณสมบัติ dbCtrl.dbErr แบบอ่านอย่างเดียว จะแสดงข้อความแสดงข้อผิดพลาดที่บันทึกไว้
คุณสมบัติ dbCtrl.Version อ่านอย่างเดียว ข้อมูลเวอร์ชันของโปรแกรม
วิธี dbCtrl.AutoId รับหมายเลขซีเรียลที่ไม่ซ้ำกันโดยอัตโนมัติ
วิธีการ dbCtrl.GetRecord เพื่อรับชุดระเบียนที่ตรงตามเงื่อนไข
วิธีการ dbCtrl.GetRecordBySql รับชุดบันทึกตามคำสั่ง sql
วิธีการ dbCtrl.GetRecordDetail ขึ้นอยู่กับข้อมูลโดยละเอียดของเรกคอร์ดที่ระบุ
วิธีการ dbCtrl.AddRecord เพิ่มระเบียนใหม่
วิธีการ dbCtrl.UpdateRecord อัพเดตบันทึกตามเงื่อนไขที่ระบุ
วิธีการ dbCtrl.DeleteRecord ลบระเบียนที่ตรงตามเงื่อนไข
เมธอด dbCtrl.ReadTable รับเนื้อหาของฟิลด์อื่นๆ ในเรกคอร์ดตามเงื่อนไขที่ระบุ
วิธีการ dbCtrl.C ปิดวัตถุชุดระเบียน
dbCtrl.wGetRecord,
dbCtrl.wAddRecord,
dbCtrl.wUpdateRecord,
dbCtrl.wDeleteRecord สี่วิธีนี้คือคำสั่ง sql ที่ได้รับการดำเนินการที่สอดคล้องกัน (นำหน้าด้วย w)
แบบแผนพารามิเตอร์:
เนื่องจาก ASP ไม่มีอ็อบเจ็กต์อาร์กิวเมนต์และไม่สามารถใช้พารามิเตอร์ไดนามิกได้ ในโค้ดของคลาสนี้ Array จึงถูกใช้เพื่อให้ได้เอฟเฟกต์นี้ พารามิเตอร์บางตัวในคลาสนี้สามารถใช้อาร์เรย์ได้ (ตามที่ระบุไว้ในคำอธิบายพารามิเตอร์) แต่ควรใช้รูปแบบต่อไปนี้เมื่อใช้อาร์เรย์:
Array("Field1:Value1", "Field2:True", "Field3:100")
ใช่ มันเหมือนกับรูปแบบ json เล็กน้อย หากมีตัวแปรเข้ามาเกี่ยวข้อง จะเป็นดังนี้:
Array("Field1:" & Value1, "Field2:" & Value2, "Field3:" & Value3)
อาจกล่าวได้ว่าเนื้อหาเกือบทั้งหมดที่เกี่ยวข้องกับเขตข้อมูลฐานข้อมูลในคลาสนี้สามารถใช้รูปแบบอาร์เรย์ข้างต้นเพื่อกำหนดเงื่อนไขหรือรับเนื้อหาได้ คุณลักษณะที่ใหญ่ที่สุดที่นี่คือคุณไม่จำเป็นต้องพิจารณาประเภทของฟิลด์เมื่อใช้งาน เพียงใส่เครื่องหมายทวิภาคตามด้วยค่าที่เกี่ยวข้อง หากคุณเขียนโปรแกรม ASP ด้วยมือบ่อยๆ คุณจะรู้สึกถึงเสน่ห์ของการใช้วิธีนี้ในไม่ช้า นอกจากประเภทข้อมูลแล้ว ยังสะดวกในการเพิ่มและลบเงื่อนไขได้ตลอดเวลา ไม่สำคัญหากคุณยังไม่เข้าใจวิธีใช้งาน มีตัวอย่างมากมายด้านล่างเพื่อแสดงปัญหานี้
จริงๆ แล้วการสรุปการดำเนินการฐานข้อมูลของ ASP นั้นไม่ใช่เรื่องยาก ฉันเชื่อว่าคุณเคยสร้างโค้ดที่คล้ายกันมาก่อนหรือยืมโค้ดที่ห่อหุ้มของผู้อื่นมา แต่อย่างที่ทุกคนรู้ดีว่า เมื่อเกิดข้อผิดพลาดโดยใช้โค้ดแบบห่อหุ้ม การดีบักเป็นเรื่องที่ยุ่งยาก โดยทั่วไป ยิ่งการดำเนินการแบบห่อหุ้มนั้นง่ายกว่า การดีบักก็จะยิ่งซับซ้อนมากขึ้นเท่านั้น เมื่อฉันเขียนโค้ดเหล่านี้ ฉันพยายามอย่างเต็มที่เพื่อพิจารณาวิธีการแก้ไขข้อผิดพลาดหากมีสิ่งผิดปกติเกิดขึ้น ในขณะที่กำลังทำให้โค้ดง่ายขึ้นเพื่อให้ผู้ใช้ใช้งานฐานข้อมูลได้มากที่สุด ฉันสามารถส่งออกคำสั่ง SQL ได้ตลอดเวลาเพื่อแก้ไขข้อผิดพลาด
สุดท้ายนี้ ควรสังเกตว่าการดำเนินการฐานข้อมูล ASP ที่เกี่ยวข้องในบทความนี้ไม่เหมาะสำหรับข้อมูลขนาดใหญ่ ดังที่คุณทราบ ควรใช้ขั้นตอนที่เก็บไว้เพื่อดำเนินการข้อมูลขนาดใหญ่ ในอนาคต ฉันจะพิจารณาการดำเนินการของขั้นตอนที่เก็บไว้ . ห่อหุ้มด้วย. นอกจากนี้ยังมีปัญหาเรื่องประสิทธิภาพด้วย หากคุณต้องการประสิทธิภาพสูง คุณยังควรพิจารณา COM+ และอื่นๆ เมื่อใช้ ASP ดังนั้น หมวดนี้จึงเหมาะสำหรับโครงการ ASP ขนาดเล็กและขนาดกลาง
เอาล่ะ คำแนะนำโดยละเอียดสำหรับการใช้งานมีดังนี้:
หนึ่ง. การเชื่อมต่อฐานข้อมูล
เมื่อพิจารณาถึงพฤติกรรมการใช้งานของคนส่วนใหญ่ กระบวนการสาธารณะจะถูกใช้สำหรับการเชื่อมต่อฐานข้อมูล ดังนั้นทุกคนจำเป็นต้องแก้ไขมันในโค้ด หากคุณได้สร้างการเชื่อมต่อฐานข้อมูลแล้ว เพียงแสดงความคิดเห็นในบรรทัดเหล่านี้ โค้ดมีวิธีการเชื่อมต่อฐานข้อมูลในตัวสี่วิธี: MSSql, Access, MySQL และ Oracle แน่นอนว่าคุณสามารถเพิ่มหรือลบพวกมันในซอร์สโค้ดได้ แก้ไขตัวอย่าง:
Dim a : a = CreatConn(0, "TestData", "localhost", "username", "userpassword")
ติ่ม b : b = CreatConn(1, "Data/%TestDb%.mdb", "", "", "")
เพื่ออธิบาย พารามิเตอร์แรกสามารถเป็นสตริงได้ หากคุณใช้ Access คุณสามารถป้อนทั้งเส้นทางสัมพัทธ์และเส้นทางสัมบูรณ์ในพารามิเตอร์ตัวที่สองได้ หากคุณมีรหัสผ่าน คุณยังสามารถป้อนรหัสผ่านดังกล่าวในพารามิเตอร์ที่ห้าได้ เช่น:
Dim c : c = CreatConn("ACCESS", "E:/MyWeb/Data/%TestDB%.mdb", "", "", "mdbpassword")
ฟังก์ชั่นที่เกี่ยวข้อง:
ต้นแบบ: CreateConn(dbType, strDB, strServer, strUid, strPwd)
ฟังก์ชัน: สร้างสตริงการเชื่อมต่อฐานข้อมูล
ส่งคืนค่า: สตริง
พารามิเตอร์:
dbType: ชนิดฐานข้อมูลการเชื่อมต่อจำนวนเต็มหรือสตริง
(0 หรือ "MSSQL") - Microsoft SQL Server
(1 หรือ "การเข้าถึง") - การเข้าถึง Microsoft Office
(2 หรือ "MYSQL") - เซิร์ฟเวอร์ MySQL
(3 หรือ "ORACLE") - เซิร์ฟเวอร์ Oracle
strDB: ชื่อฐานข้อมูลสตริงหรือที่อยู่ฐานข้อมูล (Access สามารถใช้เส้นทางแบบสัมบูรณ์หรือแบบสัมพัทธ์)
strServer: ที่อยู่เซิร์ฟเวอร์ฐานข้อมูลสตริง โปรดเว้นว่างไว้สำหรับ Access
strUid: ชื่อผู้ใช้ฐานข้อมูล String โปรดเว้นว่างไว้สำหรับ Access
strPwd: รหัสผ่านฐานข้อมูลสตริง
ต้นแบบ: Oc(connStr)
ฟังก์ชั่น: เปิดการเชื่อมต่อฐานข้อมูล
ค่าที่ส่งคืน: วัตถุการเชื่อมต่อฐานข้อมูลวัตถุ
พารามิเตอร์:
connStr: สตริงการเชื่อมต่อฐานข้อมูลสตริงที่สร้างโดยฟังก์ชัน CreateConn
ต้นแบบ: Co(obj)
ฟังก์ชั่น: ปิดวัตถุ
พารามิเตอร์:
obj: Object ชื่อของอ็อบเจ็กต์ที่ต้องการปิด
ต้นแบบ: OpenConn
ฟังก์ชัน: เปิดการเชื่อมต่อฐานข้อมูลเริ่มต้นและสร้างออบเจ็กต์การเชื่อมต่อชื่อ Conn โดยอัตโนมัติ
พารามิเตอร์: ไม่มี
ต้นแบบ: CloseConn
ฟังก์ชัน: ปิดวัตถุการเชื่อมต่อฐานข้อมูลเริ่มต้นชื่อ Conn
พารามิเตอร์: ไม่มี
2. การดำเนินงานฐานข้อมูล
ต่อไปนี้เป็นคำอธิบายฟังก์ชันของคลาสการดำเนินการฐานข้อมูลนี้ ควรถือเป็นคู่มือ
ต้นแบบ: dbCtrl.dbConn(objConn)
ฟังก์ชั่น: รับวัตถุการเชื่อมต่อฐานข้อมูล
พารามิเตอร์:
objConn: Object อ็อบเจ็กต์การเชื่อมต่อฐานข้อมูลที่ถูกสร้างขึ้น
ตัวอย่าง:
Dim db : ตั้งค่า db = New DbCtrl
db.dbConn = Oc(CreatConn(1,"E:/เว็บไซต์/MySite/Data/%TestDb%.mdb","","",""))
บริษัท(ดีบี)
คำอธิบาย: แอ็ตทริบิวต์นี้เป็นทางเลือก หากไม่ได้ระบุแอ็ตทริบิวต์นี้ การเชื่อมต่อข้อมูลเริ่มต้นจะเป็นออบเจ็กต์การเชื่อมต่อฐานข้อมูลชื่อ Conn บนเพจ
ต้นแบบ: dbCtrl.AutoID(TableName)
ฟังก์ชัน: รับหมายเลขซีเรียลที่ไม่ซ้ำกันโดยอัตโนมัติ (การกำหนดหมายเลขอัตโนมัติ)
ส่งกลับค่า: จำนวนเต็ม
พารามิเตอร์:
TableName: String ชื่อของตารางข้อมูลที่ต้องการรับหมายเลขซีเรียลเฉพาะ
ตัวอย่าง:
รหัสใหม่จางลง
newId = db.AutoId("TestTable")
ตอบกลับเขียน (newId)
ต้นแบบ: dbCtrl.GetRecord(TableName,FieldsList,Condition,OrderField,ShowN)
ฟังก์ชั่น: รับชุดบันทึกที่ตรงตามเงื่อนไข
ส่งคืนค่า: วัตถุชุดระเบียนวัตถุ
พารามิเตอร์:
TableName : ชื่อตารางสตริง
FieldsList: ชื่อฟิลด์สตริง คั่นด้วยเครื่องหมายจุลภาค เว้นว่างไว้เพื่อแสดงฟิลด์ทั้งหมด
เงื่อนไข: เงื่อนไขการสืบค้นสตริงหรืออาร์เรย์ หากเป็นอาร์เรย์ ควรเป็นไปตามแบบแผนพารามิเตอร์ก่อนหน้า
orderField: วิธีการเรียงลำดับสตริง
ShowN: Integer รับจำนวนระเบียน ซึ่งเทียบเท่ากับ Select Top N ใน SQL
ตัวอย่าง:
หรี่แสง
ตั้งค่า rs = db.GetRecord("TestTable", "fId, fName, fAge", "fSex='Male' And IsActive = 1", "fName Asc", 0)
ในขณะที่ไม่ใช่ rs.eof
Response.Write ("ชื่อคือ:" & rs(1) & " อายุคือ:" & rs(2) & "<br />")
rs.movenext()
เวนด์
db.C(อาร์เอส)
สำหรับตัวอย่างข้างต้น การระบุเงื่อนไขในรูปแบบอาร์เรย์ต่อไปนี้จะเทียบเท่า:
ตั้งค่า rs = db.wGetRecord("TestTable","fId,fName,fAge", Array("fSex:Male","IsActive:1"), "fName Asc", 0)
นอกจากนี้ คุณสามารถใช้คำสั่งต่อไปนี้เพื่อดูคำสั่ง sql ที่สร้างโดยฟังก์ชันนี้:
Response.Write(db.wGetRecord("TestTable","fId,fName,fAge", Array("fSex:Male","IsActive:1"), "fName Asc", 0))
อย่างที่คุณเห็น เพียงเพิ่ม w ก่อนฟังก์ชันดั้งเดิม
ต้นแบบ: dbCtrl.GetRecordBySQL(strSelect)
ฟังก์ชั่น: รับชุดบันทึกตามคำสั่ง sql
ส่งคืนค่า: วัตถุชุดระเบียนวัตถุ
พารามิเตอร์:
strSelect: สตริงคำสั่ง SQL ที่ใช้ในการสร้างชุดระเบียน
ตัวอย่าง:
หรี่แสง
ตั้งค่า rs = db.GetRecordBySQL("Select a.Id, a.LastName, b.Group From User a InnerJoin Depart b On a.GroupId = b.GroupId")
'รหัสของคุณอยู่ที่นี่...
db.C(อาร์เอส)
ต้นแบบ: dbCtrl.GetRecordDetail(TableName, Condition)
ฟังก์ชัน: ขึ้นอยู่กับข้อมูลโดยละเอียดของบันทึกที่ระบุ
ส่งคืนค่า: วัตถุชุดระเบียนวัตถุ
พารามิเตอร์:
TableName : ชื่อตารางสตริง
เงื่อนไข: เงื่อนไขการสืบค้นสตริงหรืออาร์เรย์ หากเป็นอาร์เรย์ ควรเป็นไปตามแบบแผนพารามิเตอร์ก่อนหน้า
ตัวอย่าง:
ติ่มอาร์เอสรหัส
Id = Request.QueryString("id")
ตั้งค่า rs = db.GetRecordDetail("TestTable","Id=" & id)
'รหัสของคุณอยู่ที่นี่...
db.C(อาร์เอส)
คำอธิบาย: อย่างที่คุณเห็นแล้ว วิธีนี้มักใช้เพื่อเปิดหน้ารายละเอียด (เช่น หน้าเนื้อหาข่าว)
ต้นแบบ: dbCtrl.AddRecord(TableName, ValueList)
ฟังก์ชั่น: เพิ่มบันทึกใหม่
ค่าที่ส่งกลับ: หมายเลข ID ของระเบียนใหม่ (สำเร็จ) หรือ 0 (ล้มเหลว)
พารามิเตอร์:
TableName : ชื่อตารางสตริง
ValueList: เขตข้อมูลอาร์เรย์และค่าที่แทรกลงในตารางต้องเป็นอาร์เรย์เท่านั้น และควรเป็นไปตามแบบแผนพารามิเตอร์ก่อนหน้า
ตัวอย่าง:
Dim fName, fSex, fWorkYear, fBirth
fName = "หวังเอ้อร์ทัน"
fSex = "ชาย"
fWorkYear = 12
fBirth = Cdate("1981-10-23")
ผลลัพธ์สลัว
result = db.AddRecord("TestTable",Array("ชื่อ:"&fName, "เพศ:"&fSex, "WorkYear:"&fWorkYear, "วันเกิด:"&fBirth, "IsActive:True"))
หากผลลัพธ์<>0 จากนั้น
Response.Write("เพิ่มบันทึกเรียบร้อยแล้ว! รหัสการกำหนดหมายเลขอัตโนมัติของบันทึกนี้คือ "& ผลลัพธ์)
สิ้นสุดถ้า
คุณเห็นไหมว่าคุณไม่จำเป็นต้องพิจารณาประเภทของฟิลด์จริงๆ
หากคุณต้องการเห็นฟิลด์และค่าในโค้ดชัดเจนยิ่งขึ้น คุณสามารถเขียนได้เช่นนี้ แต่ขึ้นอยู่กับความชอบของคุณ:
ผลลัพธ์ = db.AddRecord("TestTable",Array("ชื่อ:" & fName,_
"เพศ:" & fSex,_
"ปีทำงาน:" & fWorkYear,_
"วันเกิด:" & fBirth,_
"ใช้งานอยู่: จริง"))
นอกจากนี้ คุณสามารถใช้คำสั่งต่อไปนี้เพื่อดูคำสั่ง sql ที่สร้างโดยฟังก์ชันนี้:
Response.Write(db.wAddRecord("TestTable",Array("Name:"&fName, "Sex:"&fSex, "WorkYear:"&fWorkYear, "วันเกิด:"&fBirth, "IsActive:True")))
หมายเหตุ: ค่า Id ที่ส่งคืนใช้วิธีการที่ค่อนข้างงี่เง่า ซึ่งไม่รับประกันความถูกต้องเมื่อปริมาณข้อมูลพร้อมกันมีขนาดใหญ่ ใช้ด้วยความระมัดระวัง
ต้นแบบ: dbCtrl.UpdateRecord(TableName, Condition, ValueList)
ฟังก์ชัน: อัปเดตบันทึกตามเงื่อนไขที่กำหนด
ค่าที่ส่งกลับ: 1 (สำเร็จ) หรือ 0 (ล้มเหลว)
พารามิเตอร์:
TableName : ชื่อตารางสตริง
เงื่อนไข: เงื่อนไขการอัปเดตสตริงหรืออาร์เรย์ หากเป็นอาร์เรย์ ก็ควรเป็นไปตามรูปแบบพารามิเตอร์ก่อนหน้า
ValueList: ฟิลด์และค่าที่อัพเดตสตริงหรืออาร์เรย์ หากเป็นอาร์เรย์ ควรเป็นไปตามแบบแผนพารามิเตอร์ก่อนหน้า
ตัวอย่าง:
Dim fName, fWorkYear
fName = "วังสันตาล"
fWorkYear = 10
ผลลัพธ์สลัว
ผลลัพธ์ = db.UpdateRecord("TestTable", "UId = 1308", Array("ชื่อ:"&fName, "WorkYear:"&fWorkYear))
หากผลลัพธ์<>0 จากนั้น
Response.Write("อัปเดตข้อมูลเรียบร้อยแล้ว!")
สิ้นสุดถ้า
นอกจากนี้ คุณสามารถใช้คำสั่งต่อไปนี้เพื่อดูคำสั่ง sql ที่สร้างโดยฟังก์ชันนี้:
Response.Write(db.wUpdateRecord("TestTable", "UId = 1308", Array("ชื่อ:"&fName, "WorkYear:"&fWorkYear)))
ต้นแบบ: dbCtrl.DeleteRecord(TableName,IDFieldName,IDValues)
ฟังก์ชั่น: ลบบันทึกที่ตรงตามเงื่อนไข
ค่าที่ส่งกลับ: 1 (สำเร็จ) หรือ 0 (ล้มเหลว)
พารามิเตอร์:
TableName : ชื่อตารางสตริง
IDFieldName: String ชื่อของเขตข้อมูล Id ของตาราง
IDValues: เงื่อนไขการลบสตริงหรืออาร์เรย์ ซึ่งสามารถเป็นหมายเลข ID หลายหมายเลขโดยคั่นด้วยเครื่องหมายจุลภาค หากเป็นอาร์เรย์ ก็ควรเป็นไปตามรูปแบบพารามิเตอร์ก่อนหน้า
ตัวอย่าง:
รหัสสลัวผลลัพธ์
ids = Request.Form("selectid") 'คุณสามารถสรุปได้ว่าค่าที่ได้รับที่นี่คือ 12, 34, 256, 314 (ค่าที่ส่งโดยช่องทำเครื่องหมายจะเป็นเช่นนี้)
ผล = db.DeleteRecord("TestTable", "UId", รหัส)
หากผลลัพธ์<>0 จากนั้น
Response.Write("ลบข้อมูลสำเร็จ!")
สิ้นสุดถ้า
แน่นอน คุณยังสามารถระบุเงื่อนไขอื่นๆ โดยใช้สตริงหรืออาร์เรย์ได้ เช่น:
result = db.DeleteRecord("TestTable", "UId", "IsActive = 0 และ FirstName = 'Tom'")
นอกจากนี้ คุณสามารถใช้คำสั่งต่อไปนี้เพื่อดูคำสั่ง sql ที่สร้างโดยฟังก์ชันนี้:
Response.Write(db.wDeleteRecord("TestTable", "UId", ids))
ต้นแบบ: dbCtrl.ReadTable(TableName, Condition, GetFieldNames)
ฟังก์ชัน: รับเนื้อหาของฟิลด์อื่นในบันทึกตามเงื่อนไขที่ระบุ
ส่งคืนค่า: สตริง (GetFieldNames เป็นเขตข้อมูลเดียว) หรือ Array (GetFieldNames มีหลายเขตข้อมูล)
พารามิเตอร์:
TableName : ชื่อตารางสตริง
เงื่อนไข: เงื่อนไขการสืบค้นสตริงหรืออาร์เรย์ หากเป็นอาร์เรย์ ควรเป็นไปตามแบบแผนพารามิเตอร์ก่อนหน้า
GetFieldNames: สตริงชื่อฟิลด์เดียวหรือหลายชื่อคั่นด้วยเครื่องหมายจุลภาค
ตัวอย่าง:
Dim uid ผลลัพธ์
uid = rs("postid") 'สมมติว่านี่คือค่า ID ผู้ใช้ในชุดบันทึกบนเพจ
result = db.ReadTable("UserTable","UId=" & uid, "ชื่อผู้ใช้")
Response.Write("ผู้เผยแพร่:" & ผลลัพธ์)
ฉันต้องบอกว่าในการใช้งานจริงฟังก์ชันนี้น่าจะเป็นฟังก์ชันที่ใช้บ่อยที่สุด สิ่งที่คุณเห็นข้างต้นเป็นตัวอย่างที่พบบ่อยมาก จากค่าหนึ่งไปยังอีกฟิลด์หนึ่งในตารางอื่นที่มีค่าเท่ากับค่านั้น ออกเสียงยากหน่อย แต่ความหมายจริงๆ นะ) ตัวอย่างต่อไปนี้จะแสดงวิธีรับค่าที่สอดคล้องกันหลายค่าตามค่านี้
Dim uid ผลลัพธ์
uid = rs("postid") 'สมมติว่านี่คือค่า ID ผู้ใช้ในชุดบันทึกบนเพจ
result = db.ReadTable("UserTable","UId=" & uid, "ชื่อผู้ใช้,UserSex,UserAge")
Response.Write("ผู้เผยแพร่:" & result(0) & "<br /> เพศ: " & result(1) & "<br /> อายุ: " &result(2))
อย่างที่คุณเห็น มันง่ายมาก การป้อนชื่อฟิลด์หลายชื่อจะส่งผลให้เกิดอาร์เรย์
ต้นแบบ: dbCtrl.C(objRs)
ฟังก์ชั่น: ปิดวัตถุชุดบันทึก
พารามิเตอร์:
objRs: Object วัตถุชุดระเบียนบนเพจ
ตัวอย่าง:
หรี่แสง
ตั้งค่า rs = db.GetRecordDetail("TestTable","Id=123" )
'รหัสของคุณอยู่ที่นี่...
db.C(อาร์เอส)
มีการใช้ฟังก์ชันนี้ในหลายตัวอย่างข้างต้น ดังนั้นฉันจะไม่อธิบายมันมากนัก มันเทียบเท่ากับ rs.close: set rs = none
clsDbctrl.rar