ใน delphi.net, vcl.net มีสองความเสียใจ:
1. ADO (DBGO) ไม่สามารถใช้งานได้ แต่ตาม Li Wei, Delphi8.1 ของเดือนนี้จะมีส่วนประกอบนี้
2. คุณไม่สามารถใช้ ADO.NET และ BDP นี่จะเป็นหัวข้อของบทความของฉัน
ในพื้นที่การสื่อสาร Delphi ของ Borland, Danny เคยกล่าวไว้ว่า "ใน delphi.net, vcl.net สามารถเรียกส่วนประกอบ winform และ winform ยังสามารถเรียก VCl.net ส่วนประกอบ"
ในการตรวจสอบประโยคแรกฉันลองใช้ใน vcl.net คุณสามารถใช้ส่วนประกอบ. NET เช่นการใช้ System.data.sqlClient โดยตรงและใช้คลาส SQLConnection โดยตรง กล่าวอีกนัยหนึ่งแม้ว่าส่วนประกอบ. NET ไม่สามารถมองเห็นได้ในแผงองค์ประกอบ VCL.NET แต่คลาสองค์ประกอบ. NET ทั้งหมด VCL.NET สามารถใช้งานได้! อย่างไรก็ตามชุดข้อมูลของ Ado.net ไม่สามารถใช้งานได้กับส่วนประกอบชุดข้อมูลของ VCL.NET ดังนั้นส่วนประกอบที่รับรู้ข้อมูลไม่สามารถเรียกได้โดยตรง อย่างไรก็ตามหลังจากดู VCL ภายในของ Li Wei ฉันพบว่ามีส่วนประกอบของ AdonetConnector
ก่อนอื่น DLL ของ VCL.NET Component มี borland.vcl.design.adonet.dll ภายใต้ BDS/2.0/bin แบบฟอร์ม จากนั้นเพิ่ม dbgrid, db ... , dataSource ... ตราบใดที่ dataSource.dataset: = adonetConnector1 คนอื่น ๆ ก็เหมือนกับ Delphi ดั้งเดิมเพียงแค่ทำ รหัสเฉพาะของฉันมีดังนี้
บทที่หน่วย 1;
ส่วนต่อประสาน
ใช้
Windows, ข้อความ, sysutils, ตัวแปร, คลาส, กราฟิก, การควบคุม, รูปแบบ,
บทสนทนา
System.data.sqlclient
System.Data, System.ComponentModel, Borland.vcl.stdctrls,
borland.vcl.extctrls, borland.vcl.dbctrls, borland.vcl.grids,
borland.vcl.dbgrids, borland.vcl.db, borland.vcl.adonetdb;
พิมพ์
tform1 = คลาส (tform)
ปุ่ม 1: tbutton;
AdonetConnector1: TadonetConnector;
DataSource1: tDataSource;
dbgrid1: tdbgrid;
dbnavigator1: tdbnavigator;
ขั้นตอน button1click (ผู้ส่ง: tobject);
ส่วนตัว
{ประกาศส่วนตัว}
การเชื่อมต่อ: SQLConnection;
Prodataset: ชุดข้อมูล;
อะแดปเตอร์: Sqldataadapter;
สาธารณะ
{ประกาศสาธารณะ}
จบ;
วาจา
Form1: TFORM1;
การดำเนินการ
{$ r *.nfm}
ขั้นตอน tform1.button1click (ผู้ส่ง: tobject);
เริ่ม
การเชื่อมต่อ: = sqlconnection.create (
'แหล่งข้อมูล = 192.168.76.170;'+
'แคตตาล็อกเริ่มต้น = sfieCerp;'+
'รหัสผ่าน = qwert;'+
'ข้อมูลความปลอดภัยคงอยู่ = true;'+
'ผู้ใช้ ID = sa;'+
'แพ็คเก็ตขนาด = 4096;'+
'อายุการเชื่อมต่อชีวิต = 0;'+
'การเชื่อมต่อรีเซ็ต = false;'+
'pooling = false;'+
'ขนาดพูลสูงสุด = 100; ขนาดพูล min = 0');
Connection.open;
prodataset: = dataset.create;
อะแดปเตอร์: = sqldataadapter.create ('เลือก * จาก tproduct', การเชื่อมต่อ);
Adapter.fill (Prodataset, 'Product');
AdonetConnector1.Datatable: = prodataset.tables [0];
จบ;
จบ.
ใน delphi.net, vcl.net มีสองความเสียใจ:
1. ADO (DBGO) ไม่สามารถใช้งานได้ แต่ตาม Li Wei, Delphi8.1 ของเดือนนี้จะมีส่วนประกอบนี้
2. คุณไม่สามารถใช้ ADO.NET และ BDP นี่จะเป็นหัวข้อของบทความของฉัน
ในพื้นที่การสื่อสาร Delphi ของ Borland, Danny เคยกล่าวไว้ว่า "ใน delphi.net, vcl.net สามารถเรียกส่วนประกอบ winform และ winform ยังสามารถเรียก VCl.net ส่วนประกอบ"
ในการตรวจสอบประโยคแรกฉันลองใช้ใน vcl.net คุณสามารถใช้ส่วนประกอบ. NET เช่นการใช้ System.data.sqlClient โดยตรงและใช้คลาส SQLConnection โดยตรง กล่าวอีกนัยหนึ่งแม้ว่าส่วนประกอบ. NET ไม่สามารถมองเห็นได้ในแผงองค์ประกอบ VCL.NET แต่คลาสองค์ประกอบ. NET ทั้งหมด VCL.NET สามารถใช้งานได้! อย่างไรก็ตามชุดข้อมูลของ Ado.net ไม่สามารถใช้งานได้กับส่วนประกอบชุดข้อมูลของ VCL.NET ดังนั้นส่วนประกอบที่รับรู้ข้อมูลไม่สามารถเรียกได้โดยตรง อย่างไรก็ตามหลังจากดู VCL ภายในของ Li Wei ฉันพบว่ามีส่วนประกอบของ AdonetConnector
ก่อนอื่น DLL ของ VCL.NET Component มี borland.vcl.design.adonet.dll ภายใต้ BDS/2.0/bin แบบฟอร์ม จากนั้นเพิ่ม dbgrid, db ... , dataSource ... ตราบใดที่ dataSource.dataset: = adonetConnector1 คนอื่น ๆ ก็เหมือนกับ Delphi ดั้งเดิมเพียงแค่ทำ รหัสเฉพาะของฉันมีดังนี้
บทที่หน่วย 1;
ส่วนต่อประสาน
ใช้
Windows, ข้อความ, sysutils, ตัวแปร, คลาส, กราฟิก, การควบคุม, รูปแบบ,
บทสนทนา
System.data.sqlclient
System.Data, System.ComponentModel, Borland.vcl.stdctrls,
borland.vcl.extctrls, borland.vcl.dbctrls, borland.vcl.grids,
borland.vcl.dbgrids, borland.vcl.db, borland.vcl.adonetdb;
พิมพ์
tform1 = คลาส (tform)
ปุ่ม 1: tbutton;
AdonetConnector1: TadonetConnector;
DataSource1: tDataSource;
dbgrid1: tdbgrid;
dbnavigator1: tdbnavigator;
ขั้นตอน button1click (ผู้ส่ง: tobject);
ส่วนตัว
{ประกาศส่วนตัว}
การเชื่อมต่อ: SQLConnection;
Prodataset: ชุดข้อมูล;
อะแดปเตอร์: Sqldataadapter;
สาธารณะ
{ประกาศสาธารณะ}
จบ;
วาจา
Form1: TFORM1;
การดำเนินการ
{$ r *.nfm}
ขั้นตอน tform1.button1click (ผู้ส่ง: tobject);
เริ่ม
การเชื่อมต่อ: = sqlconnection.create (
'แหล่งข้อมูล = 192.168.76.170;'+
'แคตตาล็อกเริ่มต้น = sfieCerp;'+
'รหัสผ่าน = qwert;'+
'ข้อมูลความปลอดภัยคงอยู่ = true;'+
'ผู้ใช้ ID = sa;'+
'แพ็คเก็ตขนาด = 4096;'+
'อายุการเชื่อมต่อ = 0;'+
'การเชื่อมต่อรีเซ็ต = false;'+
'pooling = false;'+
'ขนาดพูลสูงสุด = 100; ขนาดพูล min = 0');
Connection.open;
prodataset: = dataset.create;
อะแดปเตอร์: = sqldataadapter.create ('เลือก * จาก tproduct', การเชื่อมต่อ);
Adapter.fill (Prodataset, 'Product');
AdonetConnector1.Datatable: = prodataset.tables [0];
จบ;
จบ.