แนะนำ: การเขียนโปรแกรมขั้นสูง ASP 3.0 (39) 8.4.3 มันง่ายมากที่จะสร้างชุดระเบียน มันถูกนำไปใช้โดยการเรียกใช้วิธีการเปิดของวัตถุ RecordSet: recordSet.Open [แหล่งที่มา], [ActivEconnection], [cursortype], [locktype], [ตัวเลือก] พารามิเตอร์และคำอธิบายดังแสดงในตารางที่ 8-
สำหรับผู้เริ่มต้นที่ใช้เทคโนโลยี ASP ในการโปรแกรมมันเป็นความรู้สึกแรกของพวกเขาที่พวกเขาไม่รู้ว่าจะเริ่มต้นอย่างไร ผู้เขียนเคยมีประสบการณ์เช่นนี้ หลังจากความยากลำบากคุณจะได้รับแรงบันดาลใจ ตอนนี้ฉันจะอุทิศประสบการณ์บางอย่างที่ฉันได้สะสมในการเขียนโปรแกรมให้กับผู้อ่าน
1 ก่อนอื่นคุณต้องเรียนรู้โปรแกรมตัวอย่าง
หลังจากได้รับงานแล้วอย่ารีบเร่งเขียนรหัส แต่ก่อนอื่นดูตัวอย่างที่ประสบความสำเร็จของคนอื่นแล้วแก้ไขหรือเลียนแบบการดีบักที่จะเพิ่มความเร็วที่คุ้นเคย ตัวอย่างเช่นมักจะมีตัวอย่างในตำราเรียนเกี่ยวกับการเขียนโปรแกรม ASP นั่นคือคำสั่งที่แสดงเวลาปัจจุบันของระบบ: <%= ตอนนี้ ()%> แม้ว่าคำสั่งง่ายๆดังกล่าวจะมีแนวคิดและรูปแบบการเขียนโปรแกรมของ ASP แต่ก็เป็นความช่วยเหลือที่ดีในการทำงานที่ตามมาของคุณ ตัวอย่างเช่นเพื่อทดสอบว่าเว็บเซิร์ฟเวอร์ของ IIS (เซิร์ฟเวอร์ข้อมูลอินเทอร์เน็ต) ทำงานได้ตามปกติหรือไม่ก็เพียงพอที่จะใช้คำสั่งข้างต้นเพื่อทดสอบ
2 หลังจากติดตั้ง ODBC บน Windows NT คุณต้องทดสอบว่าฐานข้อมูลพื้นหลังเชื่อมต่ออย่างแน่นอนแล้วเริ่มการทดสอบการเขียนโปรแกรม
บางทีคุณอาจไม่เข้าใจความหมายของคำถาม ฉันจะอธิบายที่นี่: ตัวอย่างเช่นฐานข้อมูลพื้นหลังคือ Oracle จากนั้นใน NT Sever คุณต้องติดตั้ง SQL*NET (หรือ NET 8) ก่อนจากนั้นกำหนดค่า ODBC เพื่อยืนยันว่าเชื่อมต่อกับฐานข้อมูล Oracle คุณสามารถใช้ SQL*Plus เพื่อทดสอบและเลือกชุดอักขระเดียวกันกับฐานข้อมูล Oracle งานนี้จะต้องเสร็จสิ้นในรีจิสทรี ในที่สุดหลังจากการทดสอบและฐานข้อมูล Oracle เชื่อมต่อใน ODBC จะระบุว่าการทำงานของเว็บเซิร์ฟเวอร์ไปยังฐานข้อมูลแบ็กเอนด์เสร็จสมบูรณ์และงานการเขียนโปรแกรมจะเริ่มขึ้น ในทางกลับกันหากคุณตั้งโปรแกรมก่อนจากนั้นทำงาน ODBC คุณจะไม่สามารถดีบักได้ว่าโปรแกรมนั้นถูกต้องหรือไม่ซึ่งอาจลดประสิทธิภาพการเขียนโปรแกรมได้อย่างมาก ในการกำหนดค่า ODBC คุณควรเลือก Microsoft ODBC สำหรับ Oracle อย่าเลือกไดรเวอร์ Oracle ODBC มิฉะนั้นคุณจะไม่สามารถสร้างการติดต่อกับฐานข้อมูลได้
ในโปรแกรม ASP ข้อความที่เชื่อมต่อกับฐานข้อมูลค่อนข้างคงที่เช่น:
SET Conn = Server.CreateObject (ADODB.Connection)
conn.open odbclink, o7people, peoplepd
ที่นี่ ODBCLINK เป็นชื่อของแหล่งข้อมูลซึ่งอาจกล่าวได้ว่าเป็นคำจำกัดความของการเชื่อมต่อ ODBC และฐานข้อมูล O7People เป็นชื่อผู้ใช้ของ Oracle และ PEOPlePd เป็นรหัสผ่านของผู้ใช้ o7people
3 บันทึกข้อมูลข้อผิดพลาดและค้นหากฎการแก้ไขข้อผิดพลาด
ในระหว่างกระบวนการเขียนโปรแกรมและการดีบักมันเป็นวัฏจักรของข้อผิดพลาดและการแก้ไข แต่เมื่อเวลาผ่านไปกฎบางอย่างจะพบได้และประสิทธิภาพของการกำจัดข้อผิดพลาดจะได้รับการปรับปรุงอย่างมาก
3.1 ข้อความแสดงข้อผิดพลาด:
Microsoft OLE DB Provider สำหรับข้อผิดพลาดของไดรเวอร์ ODBC '80040E14'
[Microsoft] [ไดรเวอร์ ODBC สำหรับ Oracle] [Oracle] ORA-00933: คำสั่ง SQL ไม่สิ้นสุดอย่างถูกต้อง
/default.asp, บรรทัด 781
ข้อผิดพลาดนี้มักเกิดจากปัญหาของคำสั่ง SQL ที่กำหนดเมื่อดำเนินการ conn.execute (คำสั่ง SQL) การตรวจสอบคำสั่งนี้จะเปิดเผยปัญหาเช่นรูปแบบวันที่ไม่ถูกต้อง ฯลฯ
จีจง
3.2 ข้อความแสดงข้อผิดพลาด:
adodb.field error '800a0bcd'
หนึ่งใน BOF หรือ EOF เป็นจริงหรือบันทึกปัจจุบันถูกลบ แต่แอปพลิเคชันต้องการให้บันทึกปัจจุบันดำเนินการ
/lzjsblr.asp, บรรทัด 123
ข้อผิดพลาดนี้มักจะเกิดขึ้นในระหว่างการดำเนินการของข้อความต่อไปนี้:
SET RS = Conn.execute (คำสั่ง SQL)
VARNUM1 = RS (0)
Rs.close
ค่า RS (0) นั้นไม่มีความหมายหรือไม่มีความหมายและต้องตรวจสอบความถูกต้องของคำสั่ง SQL ด้วย
3.3 ข้อความแสดงข้อผิดพลาด:
ข้อผิดพลาดข้อผิดพลาดของคอมไพเลอร์คอมไพเลอร์ Microsoft VBScript '800A0409'
ค่าคงที่สตริงที่ยังไม่เสร็จ
/people/default.asp, Line 86
insert_sql = insert_sql & dwdm &, '& d1 &', '& t1 &', '& t2 &',
-
ข้อผิดพลาดที่สองยังเกิดขึ้นในคำจำกัดความของคำสั่ง SQL ตรวจสอบการจับคู่ของเครื่องหมายคำพูดเดียว ฯลฯ
4 ด้านล่างเป็นโปรแกรมการลงทะเบียนผู้ใช้ออนไลน์ที่ใช้เบราว์เซอร์ ผู้เขียนใช้ทักษะบางอย่างเพื่ออุทิศให้กับผู้อ่านที่สนใจ
<html>
<head>
-
-
<%'และการเชื่อมต่อฐานข้อมูล
SET Conn = Server.CreateObject (ADODB.Connection)
conn.open odbclink, o7people, peoplepd
'ใส่ข้อมูลที่เลือกลงในกล่องการเลือก
ตั้งค่า rs = conn.execute (เลือก dwmc จากคำสั่ง tab_dw โดย dwdm)
-
< % ทำในขณะที่ไม่ใช่ rs.eof %> <option> < % = rs (0) %> </portion>
-
Rs.Movenext
วง
Rs.close
-
-
'กำหนดตัวแปร
Dim D1, D2, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, CSRQ, SQRQ
'ปุ่มทริกเกอร์เหตุการณ์
b1 = commit
b2 = กลับ
-
-
'เริ่มต้นข้อมูล
รีเซ็ตย่อย ()
d1 =
-
T9 = วันที่ ()
t10 =
สิ้นสุดย่อย
-
-
โทรรีเซ็ต ()
-
-
'เงื่อนไขการส่งข้อมูล (เงื่อนไขทริกเกอร์)
หากคำขอ (b1) = commit แล้ว 'บันทึกปุ่ม
D1 = คำขอ (D1)
ตั้งค่า dwdm_rs = conn.execute (เลือก dwdm จาก table_dw โดยที่ dwmc = '& d1 &')
dwdm = dwdm_rs (0)
dwdm_rs.close
d2 = คำขอ (d2)
-
'ข้อมูลวันที่ถูกแปลงเป็นรูปแบบที่ได้รับการยอมรับจาก Oracle
CSRQ = Day (T6) & - & Month_Array (เดือน (T6)) & - & ปี (T6)
SQRQ = Day (T9) & - & Month_Array (เดือน (T9)) & - & ปี (T9)
'กำหนดคำสั่ง SQL
sql_insert = แทรกลงใน PeopleUser (dwdm, dwmc, sjks, tele, ที่อยู่, zipcode, xm, xb, csrq, peoplename, peoplepd, sqsj, bz) ค่า ('
sql_insert = sql_insert & dwdm & ',' & d1 & ',' & t1 & ',' & t2 & ',' & t3 & ',' & t4 & ','
sql_insert = sql_insert & t5 & ',' & d2 & ',' & csrq & ',' & t7 & ',' & t8 & ',' & sqrq & ','
sql_insert = sql_insert & t10 & ')
'การติดตั้งข้อมูล
ตั้งค่า lfmc_r4 = conn.execute (sql_insert)
'หลังจากส่งข้อมูลแล้วให้เริ่มต้นข้อมูลหน้าจอ
โทรรีเซ็ต ()
สิ้นสุดถ้า
-
แชร์: ใน ASP จะถูกนำไปใช้เพื่อส่งออกข้อมูลจากฐานข้อมูล DBF ไปยังตาราง SQL คำอธิบาย: โครงสร้างฐานข้อมูล DBF จะต้องสอดคล้องกับตาราง SQL ต่อไปนี้เป็นเนื้อหาอ้างอิง: <% dim conndbf_dbf, driver_dbf, sourcetype_dbf, dbpath_dbf dim conn_