More Related Content Similar to 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET Similar to 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET (19) 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET2. Example:
SearchPosition Projects
K.Warawut Create Database Application by using ADO.NET 49
3. การสรางและใชงาน DataAdapter
●
DataAdapter เป,น Object ทชวยใหเราท!างานก"บ
ฐานขอมลในรปแบบ Disconnected Data Access
ได
●
DataAdapter ท!าหนาทเป,นต"วกลางในการร"บ-สง
ขอมลระหวางฐานขอมลก"บ DataSet โดยบาง
Application อาจใช DataAdapter เพยงท*ศทางเดยว
คอ การดงขอมลจากฐานขอมลมาเก-บไวใน DataSet
เพอใชงาน แตไมตองการ Update ขอมลกล"บลงไป
ย"งฐานขอมล
K.Warawut Create Database Application by using ADO.NET 50
4. การสรางและใชงาน DataAdapter
(ตอ)
●
แทจร*งแลว DataAdapter สามารถท!างานได 2
ท*ศทาง คอ นอกจากจะดงขอมลมาแลวย"งมการสง
ขอมลไป Update ลงฐานขอมลดวย (เพราะการดง
ขอมลเพยงอยางเดยวควรใช DataReader จะเหมาะ
สมกวา ยกเวนวาจ!าเป,นตองเลอนเรคอร.ดกล"บไปกล"บ
มา ซง DataReader ไมสน"บสน7น)
K.Warawut Create Database Application by using ADO.NET 51
5. การสรางและใชงาน DataAdapter
(ตอ)
●
โดยท"วไปเราจะใช DataAdapter Object หนงๆ ท!า
หนาทร"บ-สงขอมลระหวาง Table หนงในฐานขอมล
ก"บ Table หนง (DataTable Object) ใน DataSet
ด"งน"1นกรณทตองการท!างานก"บหลาย Table ก-จะใช
DataAdapter มากกวา 1 Object
52
6. การสรางและใชงาน DataAdapter
(ตอ)
●
แทจร*งแลว DataAdapter สามารถท!างานได 2
ท*ศทาง คอ นอกจากจะดงขอมลมาแลวย"งมการสง
ขอมลไป Update ลงฐานขอมลดวย (เพราะการดง
ขอมลเพยงอยางเดยวควรใช DataReader จะเหมาะ
สมกวา ยกเวนวาจ!าเป,นตองเลอนเรคอร.ดกล"บไปกล"บ
มา ซง DataReader ไมสน"บสน7น)
K.Warawut Create Database Application by using ADO.NET 53
7. การสรางและใชงาน DataAdapter
(ตอ)
สราง DataAdapter
●
DataAdapter ก-คอออบเจ-กต.ของคลาส
OleDbDataAdapter, SqlDataAdapter,
OracleDataAdapter หรอ OdbcDataAdapter ข1น
อยก"บชน*ดของ Data Provider ทใช
Dim da As New OleDb.OleDbDataAdapter
K.Warawut Create Database Application by using ADO.NET 54
8. การสรางและใชงาน DataAdapter
(ตอ)
สราง DataAdapter (ตอ)
●
หล"งจากสราง DataAdapter ข1นมาแลว ใหสราง
Command Object จ!านวน 4 Objects เพอน!ามา
ก!าหนดใหพร-อพเพอร.ต1 SelectCommand,
InsertCommand, DeleteCommand และ
UpdateCommand ของ DataAdapter โดยตองก!า
หนดพร-อพเพอร.ต1 เชน Connection,
CommandText และ Commandtype ของ
Command Object ท"1ง 4 ไวใหเรยบรอย
K.Warawut Create Database Application by using ADO.NET 55
9. การสรางและใชงาน DataAdapter
(ตอ)
SelectCommand Properties
●
ใชเก-บ Command Object ทมหนาทดงขอมลจาก
ฐานขอมลมาใสลง DataSet
Dim strSQL As String = “SELECT * FROM Orders”
Dim cm As New OleDb.OleDbCommand(strSQL, cn)
Dim da As New OleDb.OleDbDataAdapter
da.SelectCommand = cm
or
Dim strSQL As String = “SELECT * FROM Orders”
Dim da As New OleDb.OleDbDataAdapter
da.SelectCommand = New OleDb.OleDbCommand(strSQL, cn)
K.Warawut Create Database Application by using ADO.NET 56
10. การสรางและใชงาน DataAdapter
(ตอ)
SelectCommand Properties
●
ใชเก-บ Command Object ทมหนาทดงขอมลจาก
ฐานขอมลมาใสลง DataSet
Dim strSQL As String = “SELECT * FROM Orders”
Dim cm As New OleDb.OleDbCommand(strSQL, cn)
Dim da As New OleDb.OleDbDataAdapter
da.SelectCommand = cm
or
Dim strSQL As String = “SELECT * FROM Orders”
Dim da As New OleDb.OleDbDataAdapter
da.SelectCommand = New OleDb.OleDbCommand(strSQL, cn)
K.Warawut Create Database Application by using ADO.NET 57
11. การสรางและใชงาน DataAdapter
(ตอ)
SelectCommand Properties (ตอ)
●
เมอสราง Command Object เก-บไวใน
SelectCommand Properties ของ DataAdapter
แลว เราสามารถท!างานก"บ Command Object น"1น
โดยอางถง SelectCommand Properties ไดเลย
da.SelectCommand.CommandText = “SELECT * FROM Products”
หรออาจประกาศตวแปรออบเจกตเพออางอ,งไปยง Command Object ใน SelectCommand ก$อน
Dim com = da.SelectCommand
com.CommandText = “sp_select_all_products”
com.CommandType = CommandType.StoredProcedure
K.Warawut Create Database Application by using ADO.NET 58
12. การสรางและใชงาน DataAdapter
(ตอ)
Fill Method
●
เป,นการดงขอมลจากฐานขอมลมาเก-บไวใน DataSet
แลวป4ดการเชอมตอก"บฐานขอมลท"นททดงขอมล
เสร-จ
●
Fill Method ของ DataAdapter เมธอดน1จะเป4ดการ
เชอมตอก"บฐานขอมล
●
ขอมลใน DataSet ท Fill Method น!ามาใสจะมรป
แบบเป,นตารางขอมลหรอเทเบ*ลเชนก"บฐานขอมล
K.Warawut Create Database Application by using ADO.NET 59
13. การสรางและใชงาน DataAdapter
(ตอ)
●
DataSet สามารถมเทเบ*ลไดมากกวา 1 เทเบ*ล จง
อาจมองวา DataSet ก-คอ ฐานขอมลทเก-บอยใน
หนวยความจ!าของเครอง Client น"นเอง เพยงแต
DataSet อาจมขอมลท"1งหมดหรอเฉพาะสวนใดสวน
หนงในฐานขอมลจร*งๆ ก-ได ซงข1นอยก"บวาจะดง
ขอมลอะไรมาเก-บไวใน DataSet บาง
K.Warawut Create Database Application by using ADO.NET 60
14. การสรางและใชงาน DataAdapter
(ตอ)
รปแบบการใชงานของเมธอด Fill
dataadapter.Fill(dataset, table)
dataadapter ออบเจกต DataAdapter
dataset ออบเจกต DataSet ท DataAdapter
จะนาขอม"ลมาเกบไว
table ชอเทเบ,ลใน DataSet ทใชเกบขอม"ล ซ!งถาใน
DataSet ยงไม$มเทเบ,ลชอน/น กจะเป0น
การสรางเทเบ,ลใน DataSet ข!/นมาใหม$
K.Warawut Create Database Application by using ADO.NET 61
15. การสรางและใชงาน DataAdapter
(ตอ)
ตวอยาง
Dim cn As New OleDb.OleDbConnection( _
“Provider=Microsoft.Jet.OleDB.4.0;” & _
“Data Source=C:'NMID.MDB”
Dim strSQL As String = “SELECT * FROM Employee”
Dim da as New OleDb.OleDbDataAdapter
da.SelectCommand = New OleDb.OleDbCommand(strSQL, cn)
Dim da As New DataSet
da.Fill(ds, “Employee”)
K.Warawut Create Database Application by using ADO.NET 62
16. การสรางและใชงาน DataAdapter
(ตอ)
อางถงฟ!ลดตางๆ ใน DataSet เพอท-างานกบขอมล
dataset.Tables(table).Rows(row)(field)
dataset ออบเจกต DataSet
table ชอหรอหมายเลขลาดบของเทเบ,ลใน DataSet
row หมายเลขลาดบของเรคอรด
field ชอหรอหมายเลขลาดบของฟลด
TableBox1.Text = ds.Table(“Employee”).Row(0)(“FirstName”)
ds.Table(“Employee”).Row(0)(“LastName”) = “Khangkhan”
K.Warawut Create Database Application by using ADO.NET 63
17. การสรางและใชงาน DataAdapter
(ตอ)
ใช CommandBuilder สราง Command Object
อนๆ
●
การ Update ฐานขอมลน"1น DataAdapter จะอาศ"ย
ออบเจ-กต. Command ทอยในพร-อพเพอร.ต1
InsertCommand, DeleteCommand และ
UpdateCommand ของม"น
●
ออบเจ-กต. CommandBuilder จะพ*จารณาค!าส"ง
SQL ของออบเจ-กต. Command ใน
SelectCommand แลวสรางค!าส"ง SQL ใหก"บ 3
ออบเจ-กต.ทเหลอโดยอ"ตโนม"ต* 64
18. การสรางและใชงาน DataAdapter
(ตอ)
การสราง CommandBuilder
●
สราง CommandBuilder ข1นมาจากคลาสทเหมาะสม
(ข1นอยก"บชน*ด Data Provider) พรอมท"1งระบ7
DataAdapter เป,นอาร.ก*วเมนต.ใหก"บคอนสตร"คเตอร.
ของคลาส
Dim cb As New OleDb.OleDbCommandBuilder(da)
ไมตองเรยกใชพรอพเพอรต'หรอเมธอดใดของ CommandBuilder
K.Warawut Create Database Application by using ADO.NET 65
19. การสรางและใชงาน DataAdapter
(ตอ)
Update Method
●
เมธอด Update ของ DataAdapter ใชอ"พเดลขอมล
จาก DataSet ลงสฐานขอมล โดย DataSet จะคอย
จดจ!าวามการเพ*ม ลบ และแกไขเรคอร.ดอะไรบาง
เพอให DataAdapter สามารถอ"พเดลฐานขอมลได
อยางถกตอง
K.Warawut Create Database Application by using ADO.NET 66
20. การสรางและใชงาน DataAdapter
(ตอ)
รปแบบการใชงานของเมธอด Update
dataadapter.Update(dataset, table)
dataadapter ออบเจกต DataAdapter
dataset ออบเจกต DataSet ท DataAdapter
จะนาขอม"ลไปอพเดลลงฐานขอม"ล
table ชอเทเบ,ลใน DataSet ทคณตองการใหนาขอม"ลไป
อพเดลลงฐานขอม"ล
ds.Update(ds, “Employee”)
K.Warawut Create Database Application by using ADO.NET 67
21. Example:
DataAdapterDemo1 Projects
K.Warawut Create Database Application by using ADO.NET 68
22. Homework:
DataAdapterDemo2 Projects
Select index in Listbox1
K.Warawut Create Database Application by using ADO.NET 69
23. Contact us
Mr.Warawut Khangkhan
● Social Media:
http://www.facebook.com/awarawut (Profile)
http://www.facebook.com/AjWarawut (Learning)
http://twitter.com/awarawut
● Web Site:
http://awarawut.blogspot.com
● E-Mail:
awarawut@hotmail.com
warawut_kha@dusit.ac.th
● Mobile:
083-0698-410
K.Warawut Create Database Application by using ADO.NET 70