1. การใช้ Adoconnection และ Adotable ใน Delphi
Adoconnection และ Adotable ถูกตั้งค่าให้เชื่อมต่อกับฐานข้อมูล (ฉันใช้ SQLServer) ใน Delphi ตามที่สอนในหนังสือหลายเล่มและไม่มีปัญหาในการวิ่ง จากนั้นฉันแก้ไขมันวัตถุประสงค์คือการแก้ไขฐานข้อมูลการเชื่อมต่อโดยไม่ต้องแก้ไขคุณสมบัติการเชื่อมต่อของการเชื่อมต่อ adoconnection ใน Delphi และกล่องโต้ตอบการเชื่อมต่อจะไม่ปรากฏขึ้น
ขั้นตอนการแก้ไข: ตั้งค่า loginPrompt เป็นเท็จล้างคุณสมบัติการเชื่อมต่อ stonction และเพิ่มรหัสการเชื่อมต่อ
ข้อ จำกัด : = 'ผู้ให้บริการ = SQLOLEDB.1; รหัสผ่าน = 1982072019; ID ผู้ใช้ = SA; แคตตาล็อกเริ่มต้น = StorAgEmagement; แหล่งข้อมูล = 10.16.99.175';
พยายาม
loginform.tempadoconnection.connectionString: = ข้อ จำกัด ;
loginform.tempadoconnection.connection: = true;
ยกเว้น
MessageGlg ('การเชื่อมต่อฐานข้อมูลไม่ถูกต้อง !! โปรดตรวจสอบ dataconfig.xml', mtconfirmation, [mbok], 0);
แอปพลิเคชันสิ้นสุด;
จบ;
ด้วยวิธีนี้ไม่มีปัญหาในการเชื่อมต่อกับฐานข้อมูลเมื่อโปรแกรมทำงาน แต่ปัญหาที่เกิดขึ้นก็คือในการควบคุม Dlephi adotable ไม่สามารถเชื่อมต่อกับตารางได้เนื่องจากคุณสมบัติการเชื่อมต่อ string ไม่มีค่า ข้อผิดพลาดถูกรายงานว่า "คำสั่งการอนุญาตที่ไม่ถูกต้อง" วิธีใช้การเชื่อมต่อแบบ adoconnection และ adotable ใน Delphi และหลีกเลี่ยงกล่องโต้ตอบการเชื่อมต่อที่น่ารำคาญ
2. ใช้คำสั่ง SQL ใน Delphi
เนื่องจากคำสั่ง SQL ต้องใช้คำพูดสองครั้งเพื่อกำหนดค่าให้กับสตริงในขณะที่สตริงจะถูกล้อมรอบด้วยเครื่องหมายคำพูดเดียวใน Delphi ฉันจึงพบปัญหาบางอย่างโดยใช้พวกเขา ผลลัพธ์ของการทดลองของฉันคือมีการใช้คำพูดสองรายการใน Delphi แทนคำพูดสองครั้งในคำสั่ง SQL ไม่รู้ว่าใช่ไหม
ฉันยังไม่รู้ว่าจะใช้มันอย่างไร
3. ใช้ Adoquery ใน Delphi 7.0 เพื่อส่งคืนผลลัพธ์
ฉันรายงานข้อผิดพลาดหลังจากใช้งาน แต่มีโปรแกรมซีดีที่ใช้ด้วยวิธีนี้โดยไม่มีข้อผิดพลาด ฉันใช้พารามิเตอร์ ['xxxx'] และฉันไม่สามารถใช้. assTring
4. รหัสต้นฉบับ:
====================================================== ==================== ============================
ถ้า Caninsert แล้ว
เริ่ม
ด้วย alldatamodule.aq_othermaterielout ทำ
เริ่ม
ปิด;
sql.clear;
sql.text: = 'แทรก materielout (materielid, จำนวน) ค่า (: insertid ,: insertamount,)';
พารามิเตอร์ [0] .Value: = myMateriel;
พารามิเตอร์ [1] .Value: = myAmount;
execsql;
จบ;
ด้วย alldatamodule.aq_othermaterielstock ทำ
เริ่ม
ปิด;
sql.clear;
SQL.Text: = 'Update MaterielStock Set จำนวน = จำนวน-: updateAmount โดยที่ MaterialId =: UpdateId';
พารามิเตอร์ [0] .Value: = myAmount;
พารามิเตอร์ [1] .Value: = MyMateriel;
execsql;
จบ;
MaterialOutform.close;
จบ;
หลังจากรหัสนี้
ด้วย alldatamodule.aq_othermaterielout ทำ
เริ่ม
ปิด;
sql.clear;
sql.text: = 'อัปเดตอื่น ๆ ที่ตั้งค่าจำนวนเงิน = จำนวน-: updateamount โดยที่ materialId =: updateId';
พารามิเตอร์ [0] .Value: = myAmount;
พารามิเตอร์ [1] .Value: = MyMateriel;
execsql;
จบ;
ฟังก์ชั่นของการแสดงรายการควบคุมที่สามารถใช้งานได้โดยอัตโนมัติไม่สามารถใช้กับ Alldatamodule ได้ แต่ฉันบังคับให้รหัสด้านหลังยังคงทำงานอยู่ เกิดอะไรขึ้น?