7 ธ.ค. 2555

ใช้ Crystal Report ผ่านทาง ADO




เริ่มจากทำความเข้าใจความหมายของศัพท์แต่ละตัวก่อน (เป็นความเข้าใจส่วนบุคคล โปรดใช้วิจารณญานในการอ่าน)

.NET Framework คือแพลตฟอร์มสำหรับพัฒนาซอฟต์แวร์สร้างขึ้นโดยไมโครซอฟท์ โดยรองรับภาษาดอตเน็ตมากกว่า 40 ภาษา ซึ่งมีไลบรารีเป็นจำนวนมากสำหรับการเขียนโปรแกรม รวมถึงบริหารการดำเนินการของโปรแกรมบนดอตเน็ตเฟรมเวิร์ก 

.Net Data Provider คือ ตัวที่ใช้ติดต่อกับฐานข้อมูล ซึ่งมาแทนที่ ODBC แบบเคยใช้ซึ่งมีข้อจำกัดบางปรการ ในความคิดผม มันคงคล้ายๆถนน ถ้า DataBase เปรียบเสมือน อาคารคลังข้อมูล

หลังจากที่เชื่อมต่อกับฐานข้อมูลแล้ว ก็ต้องมีรถขนข้อมูล ซึ่งมีด้วยกัน 2 แบบ
1.Data Reader คือสามารถขนข้อมูลออกจากฐานข้อมูลได้อย่างเดียว
2.Data Adapter คือสามารถขนข้อมูลได้ทั้งไปและกลับ

DataReader  มีจุดเด่นในเรื่องประสิทธิภาพ และการใช้งานหน่วยความจำที่น้อยกว่าการนำข้อมูลทั้งหมดขึ้นมาในคราวเดียว การทำงานของ DataReader นั้น จำเป็นจะต้องมีการเชื่อมต่อกับแหล่งข้อมูลตลอดเวลา จนกว่าข้อมูลทั้งหมดจะถูกอ่านขึ้นมาได้
 ·
Data Adapter เป็นการจำลองโครงสร้างของตารางที่เป็นผลลัพธ์ไว้ภายในหน่วยความจำ (ลักษณะคล้ายการ Cache) คุณจึงสามารถเรียกดูข้อมูลเรคคอร์ดใด ๆ ก็ได้แม้ว่าการติดต่อกับระบบจัดการฐานข้อมูลจะถูกปิดไปแล้วก็ตาม  แต่ข้อเสียของการใช้ Data Adapter และ DataSet นั้นก็คือ ปริมาณหน่วยความจำที่ใช้ เนื่องจากข้อมูลทั้งหมดจะต้องถูกนำขึ้นมาเก็บไว้ในหน่วยความจำหลัก

DataSet  คือกลุ่มของข้อมูลหลาย ๆ Table ถูกจัดรวมไว้ในก่อนกลุ่มเดียวกัน DataSet เป็นผลลัพธ์ทีได้จาก DataAdapter ซึ่งหลังจากที่ DataAdapter

DataTable คือกลุ่มของข้อมูลที่ถูกจัดเก็บไว้ในชุดเดียวกัน โดยเปรียบเหมือนแผ่นตาราง 1 ตารางที่แบ่งเป็น Cloumn (แนวตั้ง) และ Rows (แนวนอน) ที่ถูกจัดเก็บไว้เพียง 1 Table เท่านั้น


ผมต้องการเอาข้อมูล 2 table มา join กันแล้วมาเก็บไว้ที่ DataTable ก่อน แล้วใช้ Crystal Report ดึงข้อมูลมาแสดงผล

ขั้นตอนทั้งหมดมีดังนี้
1.สร้าง Project ใหม่
2.สร้าง Datasource
3.สร้าง DataSet และ DataTable
3.สร้าง Crystal Report
4.สร้างส่วนการเชื่อมต่อกับฐานข้อมูลและการอ่านข้อมูล
5.สร้าง Crystal Report Viwer

1.สร้าง Project ใหม่


สร้าง Data Source



2.สร้าง DataSet และ DataTable

คลิกขวาที่ชื่อ Project -> Add -> New Item 

คลิกขวาที่ Form ของ DataSet -> Add -> DataTable  



Project->Add New Item-> crystal report


3.สร้าง Crystal Report 



http://www.thaicreate.com/asp.net/asp.net-dataadapter.html
http://www.thaicreate.com/dotnet/crystal-report-vb-net-cs.html
asds
http://www.codeproject.com/Articles/142064/Step-by-Step-Creation-of-Crystal-Report-using-its
https://docs.google.com/open?id=0B-qjfg_zV70cSFhOZi0tYlZ2cUE
http://www.timesheetsmts.com/adotutorial.htm
http://www.thaiadmin.org/board/index.php?topic=51695.0
http://computer-programming-forum.com/67-vb-crystal-report/1b6a26a8ff55f30a.htm
http://forums.devshed.com/database-management-46/server-has-not-yet-been-opened-crystal-reports-error-61527.html
http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/ad/samples/vb/s-spCall-bas.htm
http://blog.aggregatedintelligence.com/2008/08/crystal-reports-viewer-physical.html