Upload
warawut
View
651
Download
3
Embed Size (px)
Citation preview
Create Database Create Database Application by using Application by using
ADO.NETADO.NET
Suan Dusit Rajabhat University, Phitsanulok CampusSuan Dusit Rajabhat University, Phitsanulok CampusMr.Warawut KhangkhanMr.Warawut Khangkhan
K.Warawut Create Database Application by using ADO.NET 49
Example:Example:
SearchPosition ProjectsSearchPosition Projects
K.Warawut Create Database Application by using ADO.NET 50
การสร�างและใช�งาน การสร�างและใช�งาน DataAdapterDataAdapter● DataAdapter เป,น Object ท��ช�วยให�เราท!างานก"บ
ฐานข�อม�ลในร�ปแบบ Disconnected Data Access ได�
● DataAdapter ท!าหน�าท��เป,นต"วกลางในการร"บ-ส�งข�อม�ลระหว�างฐานข�อม�ลก"บ DataSet โดยบาง Application อาจใช� DataAdapter เพ�ยงท*ศทางเด�ยว คอ การด�งข�อม�ลจากฐานข�อม�ลมาเก-บไว�ใน DataSet เพ�อใช�งาน แต�ไม�ต�องการ Update ข�อม�ลกล"บลงไปย"งฐานข�อม�ล
K.Warawut Create Database Application by using ADO.NET 51
การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))
● แท�จร*งแล�ว DataAdapter สามารถท!างานได� 2 ท*ศทาง คอ นอกจากจะด�งข�อม�ลมาแล�วย"งม�การส�งข�อม�ลไป Update ลงฐานข�อม�ลด�วย (เพราะการด�งข�อม�ลเพ�ยงอย�างเด�ยวควรใช� DataReader จะเหมาะสมกว�า ยกเว�นว�าจ!าเป,นต�องเล�อนเรคอร.ดกล"บไปกล"บมา ซ��ง DataReader ไม�สน"บสน7น)
52
การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))
● โดยท"�วไปเราจะใช� DataAdapter Object หน��งๆ ท!าหน�าท��ร"บ-ส�งข�อม�ลระหว�าง Table หน��งในฐานข�อม�ลก"บ Table หน��ง (DataTable Object) ใน DataSet ด"งน"1นกรณ�ท��ต�องการท!างานก"บหลาย Table ก-จะใช� DataAdapter มากกว�า 1 Object
K.Warawut Create Database Application by using ADO.NET 53
การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))
● แท�จร*งแล�ว DataAdapter สามารถท!างานได� 2 ท*ศทาง คอ นอกจากจะด�งข�อม�ลมาแล�วย"งม�การส�งข�อม�ลไป Update ลงฐานข�อม�ลด�วย (เพราะการด�งข�อม�ลเพ�ยงอย�างเด�ยวควรใช� DataReader จะเหมาะสมกว�า ยกเว�นว�าจ!าเป,นต�องเล�อนเรคอร.ดกล"บไปกล"บมา ซ��ง DataReader ไม�สน"บสน7น)
K.Warawut Create Database Application by using ADO.NET 54
การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter 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 55
การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter 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 56
การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))
SelectCommand Properties● ใช�เก-บ Command Object ท��ม�หน�าท��ด�งข�อม�ลจาก
ฐานข�อม�ลมาใส�ลง DataSetDim strSQL As String = “SELECT * FROM Orders”Dim cm As New OleDb.OleDbCommand(strSQL, cn)Dim da As New OleDb.OleDbDataAdapterda.SelectCommand = cm
Dim strSQL As String = “SELECT * FROM Orders”Dim da As New OleDb.OleDbDataAdapterda.SelectCommand = New OleDb.OleDbCommand(strSQL, cn)
or
K.Warawut Create Database Application by using ADO.NET 57
การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))
SelectCommand Properties● ใช�เก-บ Command Object ท��ม�หน�าท��ด�งข�อม�ลจาก
ฐานข�อม�ลมาใส�ลง DataSetDim strSQL As String = “SELECT * FROM Orders”Dim cm As New OleDb.OleDbCommand(strSQL, cn)Dim da As New OleDb.OleDbDataAdapterda.SelectCommand = cm
Dim strSQL As String = “SELECT * FROM Orders”Dim da As New OleDb.OleDbDataAdapterda.SelectCommand = New OleDb.OleDbCommand(strSQL, cn)
or
K.Warawut Create Database Application by using ADO.NET 58
การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))
SelectCommand Properties (ต�อ)● เม�อสร�าง Command Object เก-บไว�ใน
SelectCommand Properties ของ DataAdapter แล�ว เราสามารถท!างานก"บ Command Object น"1นโดยอ�างถ�ง SelectCommand Properties ได�เลย
da.SelectCommand.CommandText = “SELECT * FROM Products”
Dim com = da.SelectCommandcom.CommandText = “sp_select_all_products”com.CommandType = CommandType.StoredProcedure
หร�ออาจประกาศต�วแปรออบเจ กต�เพ��ออ�างอ,งไปย�ง Command Object ใน SelectCommand ก$อน
K.Warawut Create Database Application by using ADO.NET 59
การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))
Fill Method● เป,นการด�งข�อม�ลจากฐานข�อม�ลมาเก-บไว�ใน DataSet
แล�วป4ดการเช�อมต�อก"บฐานข�อม�ลท"นท�ท��ด�งข�อม�ลเสร-จ
● Fill Method ของ DataAdapter เมธอดน�1จะเป4ดการเช�อมต�อก"บฐานข�อม�ล
● ข�อม�ลใน DataSet ท�� Fill Method น!ามาใส�จะม�ร�ปแบบเป,นตารางข�อม�ลหรอเทเบ*ลเช�นก"บฐานข�อม�ล
K.Warawut Create Database Application by using ADO.NET 60
การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))
● DataSet สามารถม�เทเบ*ลได�มากกว�า 1 เทเบ*ล จ�งอาจมองว�า DataSet ก-คอ ฐานข�อม�ลท��เก-บอย��ในหน�วยความจ!าของเคร�อง Client น"�นเอง เพ�ยงแต� DataSet อาจม�ข�อม�ลท"1งหมดหรอเฉพาะส�วนใดส�วนหน��งในฐานข�อม�ลจร*งๆ ก-ได� ซ��งข�1นอย��ก"บว�าจะด�งข�อม�ลอะไรมาเก-บไว�ใน DataSet บ�าง
K.Warawut Create Database Application by using ADO.NET 61
การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))
ร�ปแบบการใช�งานของเมธอด Filldataadapter.Fill(dataset, table)
dataadapter ออบเจ กต� DataAdapterdataset ออบเจ กต� DataSet ท�� DataAdapter
จะน�าข�อม"ลมาเก บไว�table ช��อเทเบ,ลใน DataSet ท��ใช�เก บข�อม"ล ซ!�งถ�าใน
DataSet ย�งไม$ม�เทเบ,ลช��อน�/น ก จะเป0นการสร�างเทเบ,ลใน DataSet ข!/นมาใหม$
K.Warawut Create Database Application by using ADO.NET 62
การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter 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.OleDbDataAdapterda.SelectCommand = New OleDb.OleDbCommand(strSQL, cn)
Dim da As New DataSetda.Fill(ds, “Employee”)
K.Warawut Create Database Application by using ADO.NET 63
การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))
อ�างถ�งฟ!ลด�ต�างๆ ใน DataSet เพ �อท-างานก�บข�อม�ลdataset.Tables(table).Rows(row)(field)
dataset ออบเจ กต� DataSettable ช��อหร�อหมายเลขล�าด�บของเทเบ,ลใน DataSetrow หมายเลขล�าด�บของเรคอร�ดfield ช��อหร�อหมายเลขล�าด�บของฟ�ลด�TableBox1.Text = ds.Table(“Employee”).Row(0)(“FirstName”)
ds.Table(“Employee”).Row(0)(“LastName”) = “Khangkhan”
64
การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))
ใช� CommandBuilder สร�าง Command Object อ �นๆ ● การ Update ฐานข�อม�ลน"1น DataAdapter จะอาศ"ย
ออบเจ-กต. Command ท��อย��ในพร-อพเพอร.ต�1 InsertCommand, DeleteCommand และ UpdateCommand ของม"น
● ออบเจ-กต. CommandBuilder จะพ*จารณาค!าส"�ง SQL ของออบเจ-กต. Command ใน SelectCommand แล�วสร�างค!าส"�ง SQL ให�ก"บ 3 ออบเจ-กต.ท��เหลอโดยอ"ตโนม"ต*
K.Warawut Create Database Application by using ADO.NET 65
การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter 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 66
การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))
Update Method● เมธอด Update ของ DataAdapter ใช�อ"พเดลข�อม�ล
จาก DataSet ลงส��ฐานข�อม�ล โดย DataSet จะคอยจดจ!าว�าม�การเพ*�ม ลบ และแก�ไขเรคอร.ดอะไรบ�าง เพ�อให� DataAdapter สามารถอ"พเดลฐานข�อม�ลได�อย�างถ�กต�อง
K.Warawut Create Database Application by using ADO.NET 67
การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))
ร�ปแบบการใช�งานของเมธอด Updatedataadapter.Update(dataset, table)
dataadapter ออบเจ กต� DataAdapterdataset ออบเจ กต� DataSet ท�� DataAdapter
จะน�าข�อม"ลไปอ�พเดลลงฐานข�อม"ลtable ช��อเทเบ,ลใน DataSet ท��ค�ณต�องการให�น�าข�อม"ลไป
อ�พเดลลงฐานข�อม"ลds.Update(ds, “Employee”)
K.Warawut Create Database Application by using ADO.NET 68
Example:Example:
DataAdapterDemo1 ProjectsDataAdapterDemo1 Projects
K.Warawut Create Database Application by using ADO.NET 69
Homework:Homework:
DataAdapterDemo2 ProjectsDataAdapterDemo2 ProjectsSelect index in Listbox1Select index in Listbox1
K.Warawut Create Database Application by using ADO.NET 70
Contact usContact usMr.Warawut KhangkhanMr.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:[email protected][email protected]
● Mobile:083-0698-410