1. สร้างตารางชั่วคราว
อินพุตข้อมูลเป็นลิงค์ที่หลีกเลี่ยงไม่ได้ในการพัฒนาโปรแกรมฐานข้อมูล ในโครงสร้างไคลเอนต์/เซิร์ฟเวอร์ไคลเอนต์อาจต้องป้อนชุดข้อมูลก่อนที่จะส่งไปยังฐานข้อมูลแบ็กเอนด์ของเซิร์ฟเวอร์ ล้างข้อมูลหลังจากถูกส่งข้อมูล ประโยชน์ของวิธีนี้คือ: ปรับปรุงประสิทธิภาพการป้อนข้อมูลและลดภาระเครือข่าย
เนื่องจากจำนวนข้อมูลที่ผู้ใช้ป้อนโดยทั่วไปมีขนาดเล็ก (ไม่เกินสองสามร้อยระเบียน) ตารางชั่วคราวสามารถสร้างในหน่วยความจำซึ่งทำให้การประมวลผลเร็วขึ้น
วิธีที่ 1: ใช้การควบคุมแบบสอบถาม (TQUERY)
ขั้นตอนที่ 1: ใส่ตัวควบคุมแบบสอบถาม (TQUERY) บนแบบฟอร์มและตั้งค่าตารางข้อมูลที่เชื่อมต่อ
ขั้นตอนที่ 2: สร้าง TQUERY
TQUERY
ขั้นตอนที่ 3: เพิ่มที่ซึ่งการปรับสภาพหลังจากคำสั่ง SQL ดั้งเดิมและถามว่าผลลัพธ์การสืบค้น SQL นั้นว่างเปล่าหลังจากเพิ่มสิ่งนี้ในกรณีที่มีการปรับสภาพ
ตัวอย่างเช่น:
เลือก Biolife.″ สปีชีส์ไม่″, หมวดหมู่, Common_name, Biolife.″ สปีชีส์ชื่อ″, biolife.″ ความยาว (cm)″, length_in, หมายเหตุ, กราฟิก
จาก″ biolife.db″ Biolife
โดยที่ biolife.category = ′a′ และ biolife.category = ′B′
ด้วยวิธีนี้ตารางชั่วคราวจะถูกจัดตั้งขึ้น
วิธีที่ 2: สร้างตารางชั่วคราวโดยใช้รหัส
รหัสมีดังนี้:
ฟังก์ชั่น createTableInMemory (const afielddefs: tfielddefs): tdataset;
วาจา
Temptable: TclientDataset;
เริ่ม
Temptable: = Nil;
ผลลัพธ์: = ไม่มี;
ถ้า afielddefs $#@60; $#@62; nil แล้ว
เริ่ม
พยายาม
Temptable: = tclientDataset.create (แอปพลิเคชัน);
temptable.fielddefs.assign (afielddefs);
Temptable.createdataset;
ผลลัพธ์: = (น่าจดจำเป็น tDataset);
ยกเว้น
ถ้าน่าจดจำ $#@60; $#@62; nil แล้ว
Temptable.free;
ผลลัพธ์: = ไม่มี;
ยก;
จบ
จบ
จบ;
ในโปรแกรมใช้ดังนี้:
ขั้นตอน tform1.button1click (ผู้ส่ง: tobject);
วาจา
ADATASET: TDATASET;
เริ่ม
Adataset: = tdataset.create (ตัวเอง);
ด้วย adataset.fielddefs ทำ
เริ่ม
เพิ่ม ('ชื่อ', ftstring, 30, false);
เพิ่ม (′ue′, ftinteger, 0, false);
จบ;
ด้วย dataSource1 ทำ
เริ่ม
ชุดข้อมูล: = createTableInMemory (adataset.fielddefs);
DataSet.Open;
จบ;
adataset.free;
จบ;
การสร้างตารางชั่วคราวเสร็จสมบูรณ์
วิธีที่ 1 ใช้งานง่าย แต่เนื่องจากการควบคุมแบบสอบถามใช้ในการสืบค้นฐานข้อมูลแบ็กเอนด์เซิร์ฟเวอร์เมื่อล้างข้อมูลความเร็วจะช้าลงเล็กน้อยและไม่เหมาะสำหรับสถานการณ์ที่แต่ละฟิลด์ในตารางชั่วคราวถูกรวมเข้าด้วยกันโดยข้อมูลหลายข้อมูล ฟิลด์ตาราง วิธีที่ 2 มีแอพพลิเคชั่นที่หลากหลายและความเร็วที่รวดเร็ว แต่ต้องใช้รหัสการเขียน (วิธีการใช้งานของ tfielddefs ในรหัสนั้นง่ายมากดูความช่วยเหลือออนไลน์ของ Delphi)
2. กำหนดค่าเครื่องมือข้อมูล (BDE, SQL Link)
เมื่อแจกจ่ายโปรแกรมฐานข้อมูลคุณจะต้องพกพาเอ็นจิ้นข้อมูล (BDE, SQL Link) และหลังจากไคลเอนต์ติดตั้งโปรแกรมคุณต้องกำหนดค่าเครื่องมือข้อมูลเช่นชื่อผู้ใช้รหัสผ่าน (รหัสผ่าน) ฯลฯ หากมีการกำหนดค่าด้วยตนเองเวิร์กโหลดนั้นค่อนข้างใหญ่ (ขึ้นอยู่กับจำนวนลูกค้า)
[นามแฝง idapi]
ใช้ name = sysdba
รหัสผ่าน = masterkey
หลังจากติดตั้งโปรแกรมแล้วเครื่องมือข้อมูลจะถูกกำหนดค่าโดยอัตโนมัติ
3. ใช้ฟังก์ชั่นในฐานข้อมูล Interbase
โปรแกรมเมอร์อาจรู้สึกไม่สะดวก (เพียงสี่) เมื่อใช้ Interbase เป็นฐานข้อมูลพื้นหลังเมื่อมีฟังก์ชั่นน้อยเกินไป (เพียงสี่) และไม่สามารถเขียนขั้นตอนที่เก็บไว้ได้อย่างง่ายดาย Interbase ไม่สามารถเขียนฟังก์ชั่นได้ แต่สามารถใช้ฟังก์ชั่นภายนอก (เรียกว่าฟังก์ชั่นใน DLL) ตัวอย่างต่อไปนี้แสดงวิธีประกาศฟังก์ชัน substr ใน interbase
ประกาศฟังก์ชั่นภายนอกฟังก์ชั่น
Cstring (80), Smallint, Smallint
ส่งคืน CSTRING (80)
entry_point″ ib_udf_substr″ module_name″ ib_udf″
โดยที่: module_name เป็นชื่อของ DLL และ entry_point เป็นชื่อฟังก์ชัน
มันสามารถใช้หลังจากการประกาศเช่น:
เลือก substr (ประเทศ)
จากประเทศ
ตัวอย่างนี้ใช้ฐานข้อมูล iBlocal ที่มาพร้อมกับการติดตั้ง Delphi ผู้ใช้ยังสามารถเขียนฟังก์ชั่นด้วยตนเองเพื่อขยายการเชื่อมต่อ สำหรับเนื้อหาเพิ่มเติมโปรดดูหัวข้อบทความที่เกี่ยวข้องกับฐานข้อมูลหรือ