หลายหลายวิธีแสดงข้อมูลด้วย Grid
หลักการนำข้อมูลจากฐานข้อมูลต่างๆแสดงในกริด (Grid) โดยทั่วไปคือ เลือกช่วงข้อมูลจากฐานข้อมูลด้วยคำสั่ง SELECT SQL เก็บไว้ในเคอร์เซอร์ (Cursor) ชั่วคราวก่อน หลังจากนั้นก็นำเคอร์เซอร์ดังกล่าวไปใส่ในกริด โดยระบุชื่อเคอร์เซอร์ดังกล่าวใน RecordSource Property ของกริดเท่านั้นเอง แต่เนื่องจากวิชวลฟอกซ์โปรมีความสามารถในการติดต่อกับฐานข้อมูลได้หลากหลาย ดังนั้นหลายท่านจึงมักสับสนว่า ควรใช้งานเมื่อไร อย่างไร สรุปให้ง่ายๆก็คือ ให้ท่านเลือกใช้ตามความชอบและความถนัดของท่าน
ตัวอย่าง แสดงรายชื่อพนักงานจากฐานข้อมูลตัวอย่าง Tastrade ใน Grid
1 Native
ใช้กับไฟล์ฐานข้อมูลของฟอกส์โปรโดยตรง ให้ดูประโยคคำสั่ง SELECT... INTO CURSOR
2 SQL-Passthru (SPT ผ่าน ODBC)
ใช้กับฐานข้อมูลอะไรก็ได้ผ่าน ODBC ให้ดูประโยคคำสั่ง =SQLEXEC( "SELECT....", "Cursor" )
ประโยคการเชื่อมต่อกับฐานข้อมูลต่างๆ
* DSN |
3. CursorAdapter (CA)
ใช้กับฐานข้อมูลอะไรก็ได้ไม่จำกัด ให้ดู PEM ของออบเจ็กต์ CursorAdapter ใน Help
ca = CreateObject("CursorAdaper") or NewObject("CursorAdapter") ca.DataResorceType : Native, ODBC ,ADO, XML ca.Alias = "c_data" ca.CursorFill() |
3.1 CA-Native
ใช้กับฐานข้อมูลของฟอกส์โปรเท่านั้น
3.2 CA-ODBC
ใช้กับฐานข้อมูลอะไรก็ได้ที่มี ODBC Driver ดูวิธี Connection เรื่อง SPT ข้างต้น
3.3 CA-ADO
ใช้กับฐานข้อมูลอะไรก็ได้ที่มี OLEDB Provider (ถ้าไม่ระบุ Provider จะหมายถึง Provider=MSDASQL หรือผ่าน ODBC Driver)
ประโยคการเชื่อมต่อกับฐานข้อมูลต่างๆ
OLEDB Provider for ODBC ======================================================= * Default = "Provider=MSDASQL;Driver={ODBC};" * VFP-DBF cPath = HOME(2) + "Tastrade\Data\" cStrConn = "Driver={Microsoft Visual Foxpro Driver};SourceType=DBF;SourceDB=" + cPath * VFP-DBC cPath = HOME(2) + "Tastrade\Data\tastrade.dbc" cStrConn = "Driver={Microsoft Visual Foxpro Driver};SourceType=DBC;SourceDB=" + cPath * MSAccess cPath = "C:\Program Files\Microsoft Office\Office11\Samples\Northwind.mdb" cStrConn = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" + cPath * MSSQL cStrConn = "Driver={SQL Server};Server=localhost;Uid=sa;Pwd=;Database=northwind;" * MySQL cStrConn = "Driver={MySQL ODBC 3.51 Driver};Server=localhost;Uid=root;Pwd=;Database=sample;" * PostgreSQL cStrConn = "Driver={PostgreSQL};Server=localhost;Uid=postgres;Pwd=;Database=sample;" OLEDB Provider ================================================================ * VFP cPath = HOME(2) + "Tastrade\Data\tastrade.dbc" cStrConn = "Provider=vfpoledb;Data Source=" + cPath * MSAccess cPath = "C:\Program Files\Microsoft Office\Office11\Samples\Northwind.mdb" cStrConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + cPath * MSSQL (SQL-Server) cStrConn = "Provider=SQLOLEDB;Data Source=localhost;User ID=sa;Initial Catalog=nortwind;" =============================================================================== |
- หรือ -
3.4 CA-XML
ใช้กับข้อมูลอะไรก็ได้ที่จัดเก็บอยู่ในรูปแบบ XML
ตัวอย่าง คิวรี่ข้อมูล dbf เก็บเป็นไฟล์ xml
ตัวอย่าง อ่านข้อมูลจากไฟล์ xml ใส่กริดโดยใช้ CursorAdapter
หมายเหตุ - อ่านไฟล์ xml เข้าเคอร์เซอร์โดยตรง ดูคำสั่ง XMLTOCURSOR() และ XMLAdapter.ToCursor()
เทคนิคการเขียนคำสั่งกับออบเจ็กต์ (เฉพาะ VFP 8 และ 9 เท่านั้น)
- เลือกเมนู Tools | Intellisense Manager กำหนดให้ใช้งาน Intellisense พิมพ์จุดแสดง PEM ของออบเจ็กต์
- ประกาศตัวแปร PUBLIC, PRIVATE, LOCAL ของตัวแปรออบเจ็กต์ที่ต้องการ
PUBLIC cn AS ADODB.Connection
PUBLIC rs AS ADODB.Recordset
PUBLIC ca AS CursorAdapter
PUBLIC xa AS XMLAdapter
ความคิดเห็น
แสดงความคิดเห็น