23
Create Database Create Database Application by using Application by using ADO.NET ADO.NET Suan Dusit Rajabhat University, Phitsanulok Campus Suan Dusit Rajabhat University, Phitsanulok Campus Mr.Warawut Khangkhan Mr.Warawut Khangkhan

03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

  • Upload
    warawut

  • View
    651

  • Download
    3

Embed Size (px)

Citation preview

Page 1: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

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

Page 2: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

K.Warawut Create Database Application by using ADO.NET 49

Example:Example:

SearchPosition ProjectsSearchPosition Projects

Page 3: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

K.Warawut Create Database Application by using ADO.NET 50

การสร�างและใช�งาน การสร�างและใช�งาน DataAdapterDataAdapter● DataAdapter เป,น Object ท��ช�วยให�เราท!างานก"บ

ฐานข�อม�ลในร�ปแบบ Disconnected Data Access ได�

● DataAdapter ท!าหน�าท��เป,นต"วกลางในการร"บ-ส�งข�อม�ลระหว�างฐานข�อม�ลก"บ DataSet โดยบาง Application อาจใช� DataAdapter เพ�ยงท*ศทางเด�ยว คอ การด�งข�อม�ลจากฐานข�อม�ลมาเก-บไว�ใน DataSet เพ�อใช�งาน แต�ไม�ต�องการ Update ข�อม�ลกล"บลงไปย"งฐานข�อม�ล

Page 4: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

K.Warawut Create Database Application by using ADO.NET 51

การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))

● แท�จร*งแล�ว DataAdapter สามารถท!างานได� 2 ท*ศทาง คอ นอกจากจะด�งข�อม�ลมาแล�วย"งม�การส�งข�อม�ลไป Update ลงฐานข�อม�ลด�วย (เพราะการด�งข�อม�ลเพ�ยงอย�างเด�ยวควรใช� DataReader จะเหมาะสมกว�า ยกเว�นว�าจ!าเป,นต�องเล�อนเรคอร.ดกล"บไปกล"บมา ซ��ง DataReader ไม�สน"บสน7น)

Page 5: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

52

การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))

● โดยท"�วไปเราจะใช� DataAdapter Object หน��งๆ ท!าหน�าท��ร"บ-ส�งข�อม�ลระหว�าง Table หน��งในฐานข�อม�ลก"บ Table หน��ง (DataTable Object) ใน DataSet ด"งน"1นกรณ�ท��ต�องการท!างานก"บหลาย Table ก-จะใช� DataAdapter มากกว�า 1 Object

Page 6: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

K.Warawut Create Database Application by using ADO.NET 53

การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))

● แท�จร*งแล�ว DataAdapter สามารถท!างานได� 2 ท*ศทาง คอ นอกจากจะด�งข�อม�ลมาแล�วย"งม�การส�งข�อม�ลไป Update ลงฐานข�อม�ลด�วย (เพราะการด�งข�อม�ลเพ�ยงอย�างเด�ยวควรใช� DataReader จะเหมาะสมกว�า ยกเว�นว�าจ!าเป,นต�องเล�อนเรคอร.ดกล"บไปกล"บมา ซ��ง DataReader ไม�สน"บสน7น)

Page 7: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

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

Page 8: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

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 ไว�ให�เร�ยบร�อย

Page 9: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

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

Page 10: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

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

Page 11: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

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 ก$อน

Page 12: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

K.Warawut Create Database Application by using ADO.NET 59

การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))

Fill Method● เป,นการด�งข�อม�ลจากฐานข�อม�ลมาเก-บไว�ใน DataSet

แล�วป4ดการเช�อมต�อก"บฐานข�อม�ลท"นท�ท��ด�งข�อม�ลเสร-จ

● Fill Method ของ DataAdapter เมธอดน�1จะเป4ดการเช�อมต�อก"บฐานข�อม�ล

● ข�อม�ลใน DataSet ท�� Fill Method น!ามาใส�จะม�ร�ปแบบเป,นตารางข�อม�ลหรอเทเบ*ลเช�นก"บฐานข�อม�ล

Page 13: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

K.Warawut Create Database Application by using ADO.NET 60

การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))

● DataSet สามารถม�เทเบ*ลได�มากกว�า 1 เทเบ*ล จ�งอาจมองว�า DataSet ก-คอ ฐานข�อม�ลท��เก-บอย��ในหน�วยความจ!าของเคร�อง Client น"�นเอง เพ�ยงแต� DataSet อาจม�ข�อม�ลท"1งหมดหรอเฉพาะส�วนใดส�วนหน��งในฐานข�อม�ลจร*งๆ ก-ได� ซ��งข�1นอย��ก"บว�าจะด�งข�อม�ลอะไรมาเก-บไว�ใน DataSet บ�าง

Page 14: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

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 ข!/นมาใหม$

Page 15: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

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”)

Page 16: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

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”

Page 17: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

64

การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))

ใช� CommandBuilder สร�าง Command Object อ �นๆ ● การ Update ฐานข�อม�ลน"1น DataAdapter จะอาศ"ย

ออบเจ-กต. Command ท��อย��ในพร-อพเพอร.ต�1 InsertCommand, DeleteCommand และ UpdateCommand ของม"น

● ออบเจ-กต. CommandBuilder จะพ*จารณาค!าส"�ง SQL ของออบเจ-กต. Command ใน SelectCommand แล�วสร�างค!าส"�ง SQL ให�ก"บ 3 ออบเจ-กต.ท��เหลอโดยอ"ตโนม"ต*

Page 18: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

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

Page 19: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

K.Warawut Create Database Application by using ADO.NET 66

การสร�างและใช�งาน การสร�างและใช�งาน DataAdapter DataAdapter ((ต�อต�อ))

Update Method● เมธอด Update ของ DataAdapter ใช�อ"พเดลข�อม�ล

จาก DataSet ลงส��ฐานข�อม�ล โดย DataSet จะคอยจดจ!าว�าม�การเพ*�ม ลบ และแก�ไขเรคอร.ดอะไรบ�าง เพ�อให� DataAdapter สามารถอ"พเดลฐานข�อม�ลได�อย�างถ�กต�อง

Page 20: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

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”)

Page 21: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

K.Warawut Create Database Application by using ADO.NET 68

Example:Example:

DataAdapterDemo1 ProjectsDataAdapterDemo1 Projects

Page 22: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

K.Warawut Create Database Application by using ADO.NET 69

Homework:Homework:

DataAdapterDemo2 ProjectsDataAdapterDemo2 ProjectsSelect index in Listbox1Select index in Listbox1

Page 23: 03 3-create-db-application-ado-dot-net Create Database Application with using ADO.NET

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