ASP ใช้แบบสอบถามข้อมูล ActiveRecord และอัปเดต
การแนะนำ:
นักเรียนที่เคยใช้เฟรมเวิร์ก PHP ThinkPHP หรือเฟรมเวิร์ก CI ต่างรู้ดีว่าการสืบค้นข้อมูล ActiveRecord ที่มาพร้อมกับเฟรมเวิร์กเหล่านี้ใช้ในการสืบค้นข้อมูลและอัปเดตข้อมูลได้อย่างสะดวก
ไม่เพียงเท่านั้น เฟรมเวิร์ก PHP จำนวนมากยังรองรับ ActiveRecord ซึ่งช่วยลดความจำเป็นในการเขียนคำสั่งสืบค้น SQL ดั้งเดิมที่น่าเบื่อมากเกินไป และทำให้การบำรุงรักษาโครงการสะดวกยิ่งขึ้น
ตอนนี้เรายังใช้สำหรับการจำลองบนโค้ด Asp มันถูกนำไปใช้กับแอปพลิเคชันของ "AppCore ที่ใช้เฟรมเวิร์ก AspBox" ได้สำเร็จ
รหัสหลักของแอปพลิเคชันถูกแยกออกจาก AppCore
================================================== ===============
[1]: ค้นหาข้อมูล
ก. รับผลลัพธ์:
ดูคำสั่ง SQL เอาท์พุต: การใช้งาน Dao.getSQL()
AliasDao.lastSQL()
เช่น
Response.WriteDao.T("media").Top(10).lastSQL
การใช้งาน Dao.Query()
หรี่แสง
dimtb_prefix:tb_prefix=คำนำหน้าตาราง Dao.tbPrefix'data
Setrs=Dao.Query("selecttop10id,namefrom@media").ผลลัพธ์()
เทียบเท่ากับ: Setrs=Dao.Query("selecttop10id,namefrom"tb_prefix"media").Result()
การใช้งาน Dao.List()
รายการสลัว
list=dao.t("media").select("id,name").top(10).List()
หมายเหตุ: list' ส่งคืนอาร์เรย์สองมิติ
ดิมิ,ไอดี,ชื่อ
Fori=0ToUbound(รายการ,2)
id=รายการ(0,i)
ชื่อ=รายการ(1,i)
ตอบกลับเขียนรหัส::ชื่อ""
ต่อไป
การใช้งาน Dao.Result()
นามแฝง Dao.GetRs() หรือ Dao.Fetch()
สลัวอาร์เอส
SetRs=Dao.T("media").select("id,name").top(10).Result()
ab.traceRs
ทำในขณะที่ไม่ได้Rs.eof
Response.WriteRs("id"):Rs("name")""
฿MoveNext
วนซ้ำ
การใช้งาน Dao.Row(n) (n หมายถึงการรับข้อมูลแถวที่ n+1) Dao.Row(0) หมายถึงการรับข้อมูลแถวแรก
สลัวอาร์เอส
SetRs=Dao.Query("selecttop10id,namefrom@media").Row(4)'รับแถวที่ 5 ของข้อมูล
IfNotRs.EofThen
Response.WriteRs("id"):Rs("ชื่อ")
สิ้นสุดถ้า
ข. เงื่อนไขการสืบค้น:
การใช้ Dao.T() เหมือนกับการใช้ Dao.From()
การใช้งาน Dao.Select() เหมือนกับการใช้งาน Dao.Field()
การใช้งาน Dao.Where() และการใช้งาน Dao.Find():
หมายเหตุ: การใช้งาน Where โดยพื้นฐานแล้วจะเหมือนกับการใช้งาน Find ซึ่งทั้งสองอย่างนี้กรองข้อมูลตามเงื่อนไข
การใช้งานค้นหามีความยืดหยุ่นมากขึ้น คุณสามารถใช้ Dao.Find("1,3,5") เพื่อสืบค้นข้อมูลด้วยตัวเลขอัตโนมัติ (id) 1,3,5
Dao.Find("1,3,5") สามารถเขียนได้ด้วยวิธีต่อไปนี้:
Dao.Find(อาร์เรย์(1,3,5))
Dao.Find("idin(1,3,5)")
Dao.ที่ไหน("idin(1,3,5)")
Dao.Where("id=1orid=3orid=5")
การใช้งาน Dao.Limit():
จำลองการใช้งานขีดจำกัด mysql (ออฟเซ็ต, แถว)
การใช้งาน:
ขีดจำกัด(0,0) รับข้อมูลทั้งหมด (ข้อมูลตั้งแต่ต้นจนจบข้อมูลแรก (0+1=1))
Limit(0,1) รับข้อมูล 1 ชิ้นโดยเริ่มจาก (ข้อมูลชิ้นที่ 1 (0+1=1) นั่นคือชิ้นที่ 1 ถึงชิ้นที่ 1) (รวมทั้งหมด 1 ชิ้น)
Limit(3,0) รับข้อมูลจากจุดเริ่มต้นไปยังจุดสิ้นสุดของข้อมูลที่ 4 (3+1=4) นั่นคือ: ข้อมูลที่ 4 ถึงข้อมูลสุดท้าย)
Limit(2,5) หมายถึงข้อมูล 5 ชิ้นโดยเริ่มจากข้อมูลชิ้นที่ 3 (2+1=3) นั่นคือ: ชิ้นที่ 3 ถึงชิ้นที่ 7) (รวมทั้งหมด 5 ชิ้น)
Limit(1,2) หมายถึงข้อมูล 2 ส่วนโดยเริ่มจากข้อมูลชิ้นที่ 2 (1+1=2) นั่นคือ: ชิ้นที่ 2 ถึงชิ้นที่ 3) (รวมทั้งหมด 2 ชิ้น)
ขีดจำกัด (4,6) สามารถคำนวณได้ดังนี้: หมายถึงรายการ 4+1=5 ถึง 4+6=10) (ทั้งหมด 6 รายการ)
@หมายเหตุ: การใช้งานที่จำกัดสามารถใช้ได้สำหรับการสืบค้นเท่านั้น ไม่ใช่สำหรับการอัพเดตข้อมูล Rs!
หรี่แสง
Setrs=Dao.T("test").Where("pid=1").Limit(0,5).Fetch()
สิ่งที่แนบมา ตัวอย่างแบบสอบถาม:
Dao.T("test").field("id,name").where("id>0").order("createtimedesc,iddesc")
Dao.T("test").select("id,name").top(10)
Dao.T("test").select("id,name").order("Rnd(ID)")
Dao.t("user").where("id<>{rq:id}andemail='{rq:email}'").find("id>5").result()
แบบสอบถามเงื่อนไขจำกัด
Setrs=Dao.T("media").field("id,name").limit(1,5).Fetch()
ตัวอย่างแบบสอบถามที่สมบูรณ์:
dimsql
sql=dao.select("id,name").from("media").where("id>10").join("table2").on("table2.cid=user.cid").order ("iddesc,cidasc").group("id").having("id>5").union("select*fromtablexx").getSQL
-
[2]: แก้ไขข้อมูล
เพิ่มข้อมูล: Dao.Add()
แก้ไขข้อมูล: Dao.Update() หรือ Dao.Set()
ลบข้อมูล: Dao.Del() หรือ Dao.Delete()
ข้อมูลบันทึกอัจฉริยะ (เพิ่มหรือแก้ไข): Dao.Save()
อัปเดตค่าฟิลด์ Dao.setField()
Dao.AffectedRows() หรือ Dao.affRows() ส่งคืนจำนวนแถวที่ได้รับผลกระทบ
dimo_ds,arr(5),str
Dao.t("user").where("id=14").del()
Dao.t("ผู้ใช้").ลบ("1,3,5")
Dao.t("user").where("id=13").set(Array("ชื่อผู้ใช้:55"))
Dao.t("user").where("id=13").setField("name","aaa1111")
Dao.query("update@usersetusername='ttt'whereid<7").exec()
Dao.query("delete*from@userwhereid>7").exec()
response.writeDao.AffectedRows()'จำนวนแถวที่ได้รับผลกระทบ
Dao.t("user").add(Array("username:tttt","password:5fe84ad35fb5f95b","email:[email protected]"))
arr(0)="id>5"
arr(1)="เวลา>#1986#"
arr(2)="oradd=555"
response.writedao.t("สื่อ").where(arr).lastSQL()
Seto_ds=Server.CreateObject("scripting.Dictionary")
o_ds("id")="15"
o_ds("ชื่อ")="sss"
o_ds("ddds!=")="dsd"
response.writedao.t("สื่อ").where(o_ds).lastSQL()
response.writedao.t("สื่อ").ค้นหา(o_ds).lastSQL()