เมื่อฉันใช้ DELPHI2005 เพื่อแก้ไขข้อบกพร่อง DBWebFiltersample ด้วยตัวอย่างของตัวเองฉันพบปัญหาต่อไปนี้: หากคุณสมบัติที่ใช้งานของ BDPDATAADAPTER1 ถูกตั้งค่าเป็นจริงข้อผิดพลาดต่อไปนี้เกิดขึ้นเมื่อการรวบรวมและการดำเนินการเสร็จสมบูรณ์
ข้อผิดพลาด
ข้อผิดพลาดของเซิร์ฟเวอร์ในแอปพลิเคชัน "/dbwebfiltersample"
------------------------------------------------------ --------------------------------------
การเชื่อมต่อเปิดล้มเหลว
คำอธิบาย: มีข้อยกเว้นที่ไม่มีการจัดการเกิดขึ้นระหว่างการดำเนินการตามคำขอเว็บปัจจุบัน โปรดตรวจสอบข้อมูลการติดตามสแต็กสำหรับรายละเอียดเกี่ยวกับข้อผิดพลาดและที่เกิดข้อผิดพลาดในรหัส
รายละเอียดข้อยกเว้น: borland.data.common.bdpexception: การเชื่อมต่อเปิดล้มเหลว
self.dbwebdatasource1.errordlgforecolor: = system.drawing.color.black;
(System.ComponentModel.IsupportInitialize (self.bdpdataadapter1)). endinit; บรรทัด 291:
(System.ComponentModel.IsupportInitialize (self.employees)). endinit; สาย 292:
(System.ComponentModel.IsupportInitialize (self.datatable1)). endinit;
ไฟล์แหล่งที่มา: g:/ไฟล์โปรแกรม/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas line: 290 Stack Trace: [bdpexception:
การเชื่อมต่อเปิดล้มเหลว
borland.data.provider.bdpdataadapter.endinit () webform1.twebform1.initializeComponent () ใน g:/โปรแกรม
ไฟล์/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas: 290 Webform1.twebform1.oninit (EventArgs E)
g:/ไฟล์โปรแกรม/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas: 344
System.web.ui.Control.InitRecursive (ควบคุม namingContainer) System.web.ui.page.processRequestMain ()
------------------------------------------------------ --------------------------------------
ข้อมูลเวอร์ชัน: Microsoft .NET Framework เวอร์ชัน: 1.1.4322.573;
เมื่อคุณสมบัติถูกตั้งค่าเป็นเท็จข้อผิดพลาดต่อไปนี้จะเกิดขึ้น:
ข้อผิดพลาดของเซิร์ฟเวอร์ในแอปพลิเคชัน "/dbwebfiltersample"
------------------------------------------------------ --------------------------------------
สตริงอินพุตไม่ถูกต้อง
คำอธิบาย: มีข้อยกเว้นที่ไม่มีการจัดการเกิดขึ้นระหว่างการดำเนินการตามคำขอเว็บปัจจุบัน โปรดตรวจสอบข้อมูลการติดตามสแต็กสำหรับรายละเอียดเกี่ยวกับข้อผิดพลาดและที่เกิดข้อผิดพลาดในรหัส
รายละเอียดข้อยกเว้น: System.Formatexception: สตริงอินพุตถูกจัดรูปแบบไม่ถูกต้อง ข้อผิดพลาดของแหล่งที่มา: บรรทัด 325: บรรทัดอื่น 326: ScurrentFilter: =
Convert.toString (O);
convert.toint16 (listbox2.selectedValue); บรรทัด 329: ถ้า startCustId <endCustID แล้ว
ไฟล์แหล่งที่มา: g:/ไฟล์โปรแกรม/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas line: 327 Stack Trace: [Formatexception:
สตริงอินพุตไม่ถูกต้อง ] System.Number.ParseInt32 (String S, Numberstyles Style, NumberFormatInfo Info) +0
System.int16.Parse (String S, Style Numberstyles, ผู้ให้บริการ iFormatProvider) +37 System.convert.toint16 (ค่าสตริง) +19
webform1.twebform1.page_load (ผู้ส่งวัตถุ, eventargs e) ใน g:/โปรแกรม
ไฟล์/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas: 327 system.web.ui.control.onload (EventArgs E)
System.web.ui.control.loadRecursive () System.web.ui.page.processrequestmain ()
------------------------------------------------------ --------------------------------------
ข้อมูลเวอร์ชัน: Microsoft .NET Framework เวอร์ชัน: 1.1.4322.573;
เนื่องจากโฟกัสการทดสอบของฉันคือการใช้ DELPHI2005 เพื่อใช้การสืบค้นเว็บฉันจึงแก้ไขข้อผิดพลาดเล็กน้อยข้างต้นเล็กน้อยและไม่มีข้อผิดพลาดในการรวบรวมและการดำเนินการ แต่ไม่มีข้อมูลปรากฏขึ้น เพื่อให้ข้อมูลแสดงข้อมูลผู้เขียน
เพิ่มปุ่มลงในแบบฟอร์มการออกแบบ WebForm1 และเพิ่มรหัสต่อไปนี้ลงในเหตุการณ์ปุ่ม:
ถ้าไม่ใช่ bdpdataadapter1.active
THEBDPDATAADAPTER1.ACTION: = TRUE;
เมื่อคุณคลิกปุ่มนี้เมื่อคุณรวบรวมและเรียกใช้ข้อผิดพลาดต่อไปนี้เกิดขึ้น:
ข้อผิดพลาดของเซิร์ฟเวอร์ในแอปพลิเคชัน "/dbwebfiltersample"
------------------------------------------------------ --------------------------------------
การเปิดการเชื่อมต่อล้มเหลว
คำอธิบาย: มีข้อยกเว้นที่ไม่มีการจัดการเกิดขึ้นระหว่างการดำเนินการตามคำขอเว็บปัจจุบัน โปรดตรวจสอบข้อมูลการติดตามสแต็กสำหรับรายละเอียดเกี่ยวกับข้อผิดพลาดและที่เกิดข้อผิดพลาดในรหัส
รายละเอียดข้อยกเว้น:
borland.data.common.bdpexception: การเชื่อมต่อเปิดล้มเหลว
ถ้าไม่ใช่ bdpdataadapter1.active แล้วบรรทัด 303:
bdpdataadapter1.active: = true; // บรรทัด 304 เกิดขึ้นในประโยคนี้:
จบ;
ไฟล์แหล่งที่มา: g:/โปรแกรม
ไฟล์/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas line: 303
Stack Trace: [bdpexception: การเชื่อมต่อเปิดล้มเหลว
ฐานข้อมูลที่ไม่สามารถใช้งานได้] borland.data.provider.bdpdataadapter.e () borland.data.provider.bdpdataadapter.set_active (ค่าบูลีน)
WebForm1.twebform1.button1_click (ผู้ส่งวัตถุ, eventargs e) ใน g:/โปรแกรม
ไฟล์/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas: 303 System.web.ui.webcontrols.button.onclick (EventArgs E)
System.web.ui.webcontrols.button.system.web.ui.ipostbackeventhandler.raisepostbackevent (String eventargument)
System.web.ui.page.raisePostBackEvent (iPostBackEventHandler SourceControl, String EventArgument)
System.web.ui.page.raisepostbackevent (namevaluecollection postdata)
System.web.ui.page.processrequestmain ()
------------------------------------------------------ --------------------------------------
ข้อมูลเวอร์ชัน: Microsoft .NET Framework เวอร์ชัน: 1.1.4322.573;
ตรวจสอบไฟล์ช่วยเหลืออย่างระมัดระวัง จะต้องมีปัญหากับการเชื่อมต่อฐานข้อมูล แต่ข้อมูลถูกทดสอบในสถานะการออกแบบ
ไม่มีปัญหากับการเชื่อมต่อไลบรารีดังนั้นฉันจึงเพิ่มเหตุการณ์ปุ่มลงในการเชื่อมต่อฐานข้อมูลคุณสมบัติทั้งหมดคอมไพล์และเรียกใช้คลิกและความล้มเหลวยังคงอยู่ ตรวจสอบไฟล์ช่วยเหลืออย่างระมัดระวังและรวมเนื้อหาต่อไปนี้:
เพื่อตั้งค่าการเชื่อมต่อ
1. ในผู้ให้บริการข้อมูล Borland: ตัวแก้ไขการเชื่อมต่อเลือกรายการที่เหมาะสมจากรายการการเชื่อมต่อ
2. ในการตั้งค่าการเชื่อมต่อให้ป้อนพา ธ ฐานข้อมูล
หมายเหตุ: หากอ้างถึงฐานข้อมูลบนดิสก์ท้องถิ่นให้เตรียมเส้นทางด้วย
localhost:
LocalHost: C:/โปรแกรมโปรแกรม/Borland/Interbase/ตัวอย่าง/ฐานข้อมูล/Employee.gdb
(หรืออะไรก็ตามที่เส้นทางที่เกิดขึ้นจริงสำหรับระบบของคุณ)
3. กรอกข้อมูลชื่อผู้ใช้และรหัสผ่านสำหรับฐานข้อมูลตามต้องการ
4. การทดสอบคลิกเพื่อยืนยันการเชื่อมต่อ
กล่องโต้ตอบปรากฏขึ้นเพื่อยืนยันสถานะของการเชื่อมต่อ
5. คลิกตกลงเพื่อกลับไปที่ผู้ให้บริการข้อมูล Borland: กล่องโต้ตอบการเชื่อมต่อตัวแก้ไข
6. คลิกตกลงเพื่อกลับไปที่กล่องโต้ตอบการกำหนดค่าอะแดปเตอร์ข้อมูล
ในแท็บคำสั่งพื้นที่สำหรับตารางและคอลัมน์จะได้รับการอัปเดตพร้อมข้อมูลจากการเชื่อมต่อของคุณ
ดังนั้นตั้งค่าคุณสมบัติการเชื่อมต่อของ BDPConnection1 เป็นฐานข้อมูล = localhost: g:/โปรแกรม
ไฟล์/borland/interbase/ตัวอย่าง/ฐานข้อมูล/Employee.gdb; Assembly = borland.data.interbase, เวอร์ชัน = 2.0.0.0, วัฒนธรรม = เป็นกลาง, สาธารณะ
keytoken = 91d62ebb5b0d1b1b; vendorClient = gds32.dll; ผู้ให้บริการ = interbase; ชื่อผู้ใช้ = sysdba; รหัสผ่าน = masterkey
ตั้งค่าคุณสมบัติที่ใช้งานอยู่ของ bdpdataadapter1 เป็น TRUE
ลบปุ่มที่เพิ่มเข้ามาและรหัสรวบรวมและเรียกใช้อีกครั้งทุกอย่างเป็นเรื่องปกติ