More Related Content
Similar to 03 ado-dot-net-access (20)
03 ado-dot-net-access
- 1. บททบทท 3 ADO.NET3 ADO.NET กบกบ
ฐานขอมลฐานขอมล AccessAccess
2003/20072003/2007
Suan Dusit Rajabhat University, Phitsanulok CampusSuan Dusit Rajabhat University, Phitsanulok Campus
Mr.Warawut KhangkhanMr.Warawut Khangkhan
- 2. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 2
เนอหาเนอหา
●
ทศทางการพฒนาแอพพลเคชนดานฐานขอมล
ของ VS2008
●
การพฒนาระบบงานดานฐานขอมลโดยอาศย
กล./ม ADO.NET
●
การเช0อมต/อกบฐานขอมล Access 2003/2007
●
การผกตดขอมล (Binding Data)
●
การใชงานออบเจ5กต6 DataReader
- 3. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 3
เนอหาเนอหา
●
การใชงานเมธอด Execute ของออบเจ5กต6
Command
●
การตรวจสอบโครงสรางของฐานขอมล Access
2003/2007
●
การใชงานออบเจ5กต6 Query ของฐานขอมล
Access 2003/2007
●
การจดการฐานขอมล Access โดยการท:า
Transaction
- 4. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 4
ทศทางการพฒนาแอพพลเคชนทศทางการพฒนาแอพพลเคชน
ดานฐานขอมลของดานฐานขอมลของ VS2008VS2008
.NET 2.0
Windows Form Application
ADO.NET 2.0
●
SQL
.NET 3.0/3.5
LINQ
●
LINQ to Object
●
LINQ to SQL
●
LINQ to XML
WPF Application
- 5. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 5
การพฒนาระบบงานดานฐานการพฒนาระบบงานดานฐาน
ขอมล โดยอาศยกล"#มขอมล โดยอาศยกล"#ม ADO.NETADO.NET
●
เรยกใชกล./มออบเจ5กต6 ADO.NET ในขณะ
ออกแบบ (Design Time)
●
การเรยกใชงานกล./มออบเจ5กต6 ADO.NET โดย
การเขยนโคดโดยตรง (Run Time)
- 6. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 6
กล"#มออบเจ%กต'กล"#มออบเจ%กต' ADO.NETADO.NET
- 10. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 10
หนาทของออบเจ%กต'หลกหนาทของออบเจ%กต'หลก
แต#ละชนดแต#ละชนด
●
ออบเจ%กต' Connection
ท:าหนาทสรางการเช0อมต/อเขากบฐานขอมล
โดย OleDbConnection เช0อมต/อกบฐานขอมล
ชนด Access ส/วน SqlConnection ท:าหนาท
เช0อมต/อกบฐานขอมลชนด SQL Server
●
ออบเจ%กต' DataAdapter
ท:าหนาทเก5บช.ดค:าสง SQL เพ0อควรขอมลออก
มาจากฐานขอมล ผลลพธ6ทไดค0อ ออบเจ5กต6
DataSet
- 11. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 11
หนาทของออบเจ%กต'หลกหนาทของออบเจ%กต'หลก
แต#ละชนดแต#ละชนด
●
ออบเจ%กต' DataSet
ท:าหนาทเก5บผลลพธ6จากการท:าควรขอมลจาก
ฐานขอมลทไดจาก ออบเจ5กต6 DataAdapter
เป?นออบเจ5กต6หลกทมบทบาทและมความส:าคญ
มากทส.ด
●
ออบเจ%กต' Command
ท:าหนาทรนช.ดค:าสง SQL ผลลพธ6ทไดค0อ
ออบเจ5กต6 DataReader
- 12. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 12
หนาทของออบเจ%กต'หลกหนาทของออบเจ%กต'หลก
แต#ละชนดแต#ละชนด
●
ออบเจ%กต' DataReader
ท:าหนาทเก5บผลลพธ6ของการท:าควรขอมลจาก
ฐานขอมล เช/นเดยวกบออบเจ5กต6 DataSet แต/
จะไดมาจาก ออบเจ5กต6 Command
- 13. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 13
การเช0อมต/อกบฐานขอมลการเช0อมต/อกบฐานขอมล AccessAccess
2003/20072003/2007
●
ความแตกต/างกนระหว/าง Access 2003/2007
Access 2003 นามสก.ล .mdb
Access 2007 นามสก.ล .accdb
●
การเช0อมต/อกบฐานขอมล
Access 2003
Provider=Microsoft.JET.OLEDB.4.0;data source=c:abc.mdb
Access 2007
Provider=Microsoft.ACE.OLEDB.12.0;data
source=c:abc.accdb;Persist Security Info=False
- 14. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 14
การผกตดขอมลการผกตดขอมล (Binding Data)(Binding Data)
●
การผกตดขอมล (Binding Data) ถ0อเป?นการ
ท:างานขBนพ0Bนฐานในการแสดงขอมลออกมาจาก
ฐานขอมล
- 15. การผกตดขอมลการผกตดขอมล (Binding Data)(Binding Data)
สถาปCตยกรรม ADO.NET มอย/ 2 แบบ ค0อ
●
Simple Binding Data เป?นการผกตดขอมล
แบบปกต ค0อ เป?นการแสดงขอมลดวย
คอนโทรล DataGridView, TextBox, Label
เป?นตน เป?นวธการแสดงขอมลออกมาจาก
ตารางเดยว (ไม/มการเช0อมโยงกบตารางอ0นๆ)
●
Complex Binding Data หร0ออาจจะเรยกว/า
การท:า Lookup Table ก5ได เป?นการแสดง
ขอมลทเกดจากการเช0อมโยงความสมพนธ6
ระหว/างตาราง 2 ตารางเขาดวยกน
- 17. การใชงานเมธอดการใชงานเมธอด ExecuteExecute ของของ
ออบเจ5กต6ออบเจ5กต6 CommandCommand
●
เมธอด ExecuteReader( )
ท:าหนาทรนช.ดค:าสง SQL ประเภทเรยกดหร0อ
อ/านขอมล ผลการรนไดออบเจ5กต6
DataReader
●
เมธอด ExecuteScalar( )
ท:าหนาทเช/นเดยวกบเมธอด
ExecuteReader( ) แต/มขอแตกต/างก5ค0อ
เมธอดนBส/งค/ากลบมาเพยงค/าเดยวเท/านBน
●
เมธอด ExecuteQuery( )
ท:าหนาทรนช.ดค:าสง SQL ประเภทเพม แกไข
หร0อลบขอมล
- 18. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 18
ขอแตกต#างระหว#างออบเจ%กต'ขอแตกต#างระหว#างออบเจ%กต'
DataReaderDataReader กบออบเจ%กต'กบออบเจ%กต'
DataSetDataSet
ออบเจ%กต' DataReader
●
ท:าหนาทอ/านขอมลออกมาจากฐานขอมล
โดยทจะอ/านครBงละ 1 เร5คคอร6ดออกมา ม
สถานะเคล0อนทไปขางหนา (Forward-Only)
เพยงอย/างเดยว
●
ปกตแลวเกดจากการควรช.ดค:าสง SQL ของ
ออบเจ5กต6 Command ส/วนออบเจ5กต6 DataSet
เกดจากการควรช.ดค:าสง SQL ของออบเจ5กต6
DataAdapter
- 19. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 19
ขอแตกต#างระหว#างออบเจ%กต'ขอแตกต#างระหว#างออบเจ%กต'
DataReaderDataReader กบออบเจ%กต'กบออบเจ%กต'
DataSetDataSet
ออบเจ%กต' DataReader (ต#อ)
●
เกดมาจากสถาปCตยกรรม Connected หมายถEง
มการเช0อมต/อกบแหล/งขอมลตลอดเวลา ส/งผล
ใหเม0อใชงานออบเจ5กต6 DataReader แลว ตอง
ควบค.มการเปGด-ปGดของออบเจ5กต6 DataReader
เองทBงหมด เพราะว/าไม/สามารถเปGดออบเจ5กต6
DataReader เกน 1 ครBงในเวลาเดยวกน
- 20. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 20
ขอแตกต#างระหว#างออบเจ%กต'ขอแตกต#างระหว#างออบเจ%กต'
DataReaderDataReader กบออบเจ%กต'กบออบเจ%กต'
DataSetDataSet
ออบเจ%กต' DataSet
●
อ/านขอมลทBงหมดทควรดวยช.ดค:าสง SQL
ออกมาแลวเก5บไวในหน/วยความจ:า จากนBนจะ
น:าไปใชในรปแบบใด ก5แลวแต/ความตองการ
●
สามารถจดการกบขอมลทเก5บอย/ในออบเจ5กต6
DataSet ไดมากกว/าออบเจ5กต6 DataReader
- 21. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 21
ขอแตกต#างระหว#างออบเจ%กต'ขอแตกต#างระหว#างออบเจ%กต'
DataReaderDataReader กบออบเจ%กต'กบออบเจ%กต'
DataSetDataSet
ออบเจ%กต' DataSet (ต#อ)
●
เกดมาจากสถาปCตยกรรม Disconnected ซEง
หมายถEง เม0อค.ณควรขอมลมาเก5บไวทออบ
เจ5กต6 DataSet แลว ก5จะมการตดการเช0อมต/อ
กบแหล/งขอมลโดยอตโนมตทนท
- 22. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 22
การตรวจสอบโครงสรางของฐานการตรวจสอบโครงสรางของฐาน
ขอมลขอมล Access 2003/2007Access 2003/2007
●
ปกตแลวเราใชกล./มออบเจ5กต6 ADO.NET ควร
ขอมลออกมาจากฐานขอมล แต/ก5มการควรอก
ลกษณะหนEงทไม/ตองการขอมลแต/อย/างใด แต/
ตองการตรวจสอบโครงสรางของฐานขอมล
- 23. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 23
การใชงานออบเจ5กต6การใชงานออบเจ5กต6 QueryQuery ของของ
ฐานขอมลฐานขอมล Access 2003/2007Access 2003/2007
สามารถใชงานออบเจ5กต6 Query ได 2 ลกษณะ
●
การใชงานออบเจ%กต' Query แบบไม#มการ
ส#งค#าตวแปร หมายถEง ช.ดค:าสง SQL ทเก5บ
อย/มความสมบรณ6ในตวมนเอง โดยสามารถส/ง
ผลการท:างานของช.ดค:าสง SQL ดงกล/าวออก
มาไดเลย
- 24. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 24
การใชงานออบเจ5กต6การใชงานออบเจ5กต6 QueryQuery ของของ
ฐานขอมลฐานขอมล Access 2003/2007Access 2003/2007
สามารถใชงานออบเจ5กต6 Query ได 2 ลกษณะ
(ต/อ)
●
การใชงานออบเจ%กต' Query แบบมการส#ง
ค#าตวแปร หมายถEง เม0อตองการผลการท:างาน
ของช.ด SQL ทเก5บอย/ในออบเจ5กต6 Query
ประเภทนB ตองตรวจสอบก/อนว/าช.ดค:าสง SQL
ดงกล/าวตองการตวแปรกตว และตวแปรแต/ละ
ตวเป?นขอมลชนดใด
- 25. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 25
การจดการฐานขอมลการจดการฐานขอมล AccessAccess โดยโดย
การท:าการท:า TransactionTransaction
●
การท:า Transaction เป?นการเขยนโคด เพ0อรบ
ประกนว/าเม0อมการประมวลผลขอมลแลว ไม/ว/า
จะเป?นการเพมหร0อแกไขขอมล จะถกน:าไป
กระท:ากบขอมลทอย/ในตารางจรงครบท.ก
ตารางทอย/ใน Transaction เดยวกน ซEงจะมอย/
2 สถานะเท/านBน ค0อ
– สมบรณ' 100% เรยกสถานะนBว/า Commit
Transaction
– ลมเหลว 0% เรยกสถานะนBว/า Rollback
Transaction
- 26. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 26
หลกการท:างานของหลกการท:างานของ TransactionTransaction
●
ค0อ เป?นการแกไขขอมลทอย/ใน Cache ก/อน
เม0อมการ Commit Transaction จEงเขาส/ขBน
ตอนการน:าขอมล ซEงถกแกไขแลวไปกระท:ากบ
ขอมลทอย/ในตารางจรง แต/ในกรณทเกดการท:า
Rollback Transaction ก5จะไม/กระทบกบขอมล
ทอย/ในตารางจรงแต/อย/างใด เพราะเป?นการ
แกไขขอมลทอย/ใน Cache นนเอง
●
สามารถท:า Transaction ไดทBงฐานขอมล
Access และ SQL Server
- 27. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 27
เมธอดทเกยวกบเมธอดทเกยวกบ TransactionTransaction
●
เมธอด BeginTrans( ) ของออบเจ5กต6
SqlConnection เพ0อเรมตนท:า Transaction
●
เมธอด Commit( ) ของออบเจ5กต6
SqlTransaction เพ0อ Commit Transaction
●
เมธอด Rollback( ) เพ0อท:า Rollback
Transaction
- 28. K.Warawut บทท 3 ADO.NET กบฐานขอมล Access 2003/2007 28
Contact usContact us
Mr.Warawut KhangkhanMr.Warawut Khangkhan
Social Media:
http://www.facebook.com/awarawut
http://twitter.com/awarawut
Web Site:
http://awarawut.blogspot.com
E-Mail:
awarawut@hotmail.com
warawut_kha@dusit.ac.th
Mobile:
083-0698-410