เมื่อเร็ว ๆ นี้ฉันพบปัญหาเมื่อฉันกำลังสร้างระบบการจัดการลูกค้าสำหรับลูกค้าของฉัน:
เมื่อใช้สตริงการเชื่อมต่อต่อไปนี้สถานการณ์ต่อไปนี้มีดังนี้
connstr = "dbq ="+server.mappath ("db/#kehumsg.mdb")+"; defaultdir =; driver = {microsoft accessiver (*. mdb)};"
setConn = server.createObject ("adodb.connection"))
conn.openconnstr
มีแบบสอบถามเข้าร่วม
ใช้ ID ของตารางที่สองที่จะเรียก
โดยปกติแล้ว RS ("B.ID") สามารถปรับได้ด้วยวิธีนี้ แต่จะแสดงในชุดที่สอดคล้องกับชื่อหรือหมายเลขลำดับที่ต้องการและไม่พบรายการ
ฉันไม่พบคำตอบหลังจากโพสต์บน CSDN
ในที่สุดฉันก็ใช้ RS ("ID") เพื่อแก้ปัญหา ฉันคิดว่าการโทรนี้ควรปรับ ID ของตารางแรก
แต่มันปรับตารางที่สอง แต่สิ่งที่ฉันต้องการคือสอง
หลังจากศึกษาแล้วปรากฎว่านี่เป็นเรื่องจริง มันปรับ ID ของตารางหลัง รู้สึกดีทีเดียว ฉันสามารถหาอะไรบางอย่างด้วยตัวเองฮ่าฮ่า ~~
แต่เมื่อลูกค้ากำลังจะออกไปทำงานเขาบอกว่ามีปัญหาและเขาไม่สามารถเข้าไปได้
ข้อผิดพลาดอยู่ที่ conn.openconnstr ของการเชื่อมต่อข้างต้น
เหตุใดจึงมีข้อผิดพลาดที่นี่? ฉันดูออนไลน์และบอกว่าเป็นกรณีนี้ดังนั้นฉันจึงเปลี่ยนเป็น
dbpath = server.mappath ("db/#kehumsg.mdb"))
connstr = "provider = microsoft.jet.oledb.4.0; dataSource =" & dbpath
setConn = server.createObject ("adodb.connection"))
conn.openconnstr
ไม่ได้คิดมากบางทีฉันอาจจะลอง
แต่ช่วงเวลาที่ดีไม่นานและวันนี้ลูกค้าพูดถึงปัญหาอีกครั้ง
เมื่อฉันได้รับมันฉันเชื่อมั่นและมันเป็นแบบสอบถามร่วมและมีข้อผิดพลาด
ทำไมสิ่งนี้ถึงเกิดขึ้น? ฉันศึกษากับผู้จัดการและในที่สุดก็พบปัญหา:
ในเวลานี้ ID ในตารางที่สองสามารถเรียกได้ว่า RS ("B.ID") และต้องเรียกด้วยวิธีนี้
ไม่สามารถทำได้เหมือนตัวละครเข้าร่วมตัวแรก
ฉันคิดว่ามันควรจะเป็นปัญหากับเอ็นจิ้นฐานข้อมูล ฉันไม่รู้ว่าทุกคนคิดอย่างไร
ที่นี่เราแนะนำการเชื่อมต่อที่สอง
- -
พบปัญหาอีกประการหนึ่งวิธีแก้ปัญหา: ผู้ใช้สิทธิ์ของ Windows/Temp รวมถึงรายการเพื่อแก้ไขการอนุญาต