Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

03 2-create-db-application-ado-dot-net

818 Aufrufe

Veröffentlicht am

สร้างแอพพลิเคชั่นฐานข้อมูล

  • Loggen Sie sich ein, um Kommentare anzuzeigen.

  • Gehören Sie zu den Ersten, denen das gefällt!

03 2-create-db-application-ado-dot-net

  1. 1. Create DatabaseApplication by using ADO.NETSuan Dusit Rajabhat University, Phitsanulok Campus Mr.Warawut Khangkhan
  2. 2. ADO.NET ● ยอมาจาก ActiveX Data Objects ● คอ เทคโนโลยการเขาถงขอมล (Data Access Technology) ของ .NET ทชวยใหเราเขยนโปรแกรม เพอเขาถงและท!างานก"บขอมลจากแหลงขอมล (Data Source) ประเภทตางๆ ไดอยางเรยบงายแตม ประส*ทธ*ภาพK.Warawut Create Database Application by using ADO.NET 2
  3. 3. สวนประกอบการท!างานของ ADO.NETแบงออกเป,น DataSet และ Data ProviderK.Warawut Create Database Application by using ADO.NET 3
  4. 4. DataSet ● คอ ออบเจ-กต. ซงเป,นต"วแทนของขอมลทโปรแกรม ของเราดงมาจากฐานขอมล ● DataSet จะเก-บส!าเนา (Copy) ของขอมลสวนน"1นใน ฐานขอมลไวในหนวยความจ!าของเครอง Client (เครองทโปรแกรมของเราท!างานอย) ● การท!างานตางๆ ก"บขอมลใน DataSet จงเป,นอ*สระ จากฐานขอมล และเมอถงเวลาทเหมาะสมเราสามารถ น!าขอมลจาก DataSet ไปอ"พเดท (Update) ลงฐาน ขอมลไดK.Warawut Create Database Application by using ADO.NET 4
  5. 5. DataSet (ตอ)● เป,นรปแบบทเรยกวา Disconnected Data Access หรอ “การเขาถงขอมลแบบไมตองเชอมตอก"บฐาน ขอมล (ไวตลอดเวลา)” และเรยกขอมลใน DataSet วา Disconnected Data เนองจากโปรแกรมจะมการ เชอมตอก"บฐานขอมลเทาทจ!าเป,นเทาน"น เชน 1 – การดงขอมล โปรแกรมจะเป4ดการเชอมตอก"บฐาน ขอมลเพอดงขอมลเขามาแลวป4ดการเชอมตอท"นท หล"งจากดงขอมลเสร-จ – ส!าหร"บการแกไข เพ*ม หรอลบขอมล ก-เชนเดยวก"น โปรแกรมจะเชอมตอไปย"งฐานขอมลเพอร"น Query ของค!าส"ง UPDATE, INSERT หรอ DELETE จาก น"1นการเชอมตอจะถกป4ดลง
  6. 6. DataSet (ตอ) ● DataSet ย"งออบเจ-กต.ยอยทส!าค"ญ คอ DataTable และ DataRow ทเป,นต"วแทนของเทเบ*ล (ตาราง ขอมล) และเรคอร.ด (แถวขอมล) ตามล!าด"บ รวมถง DataRelation ทเป,นต"วแทนของความส"มพ"นธ. ระหวางเทเบ*ลใน DataSet เป,นตนK.Warawut Create Database Application by using ADO.NET 6
  7. 7. Data Provider ● เรยกเต-มๆ คอ .NET Framework Data Provider ● คอ สวนทดแลในเรองการเชอมตอก"บฐานขอมล และ การสง Query ไปประมวลผลย"งฐานขอมล ● Data Provider ไมใชออบเจ-กต.เดยวๆ เหมอนอยาง DataSet หากแตเป,นกล7มของออบเจ-กต.ทเกยวของ ส"มพ"นธ.ก"น ซงรวมก"นท!างานเพอเป,นต"วกลางในการ ร"บ-สงระหวางฐานขอมลก"บ DataSetK.Warawut Create Database Application by using ADO.NET 7
  8. 8. Data Provider (ตอ)จ"ดเตรยมไว 4 ชน*ดแยกตามประเภทของฐานขอมล ด"งน1 ● SQL Server Data Provider (หรอ SQLClient Data Provider) เป,น Data Provider ทถกออกแบบ มาส!าหร"บฐานขอมล Microsoft SQL Server ต"1งแต เวอร.ช"น 7 ข1นไปโดยเฉพาะ ● OLEDB Data Provider เป,น Data Provider ส!าหร"บแหลงขอมลใดๆ ก-ตามทสน"บสน7นการต*ดตอ ผานทางอ*นเทอร.เฟซ OLEDB เชน ฐานขอมล Microsoft Access เป,นตนK.Warawut Create Database Application by using ADO.NET 8
  9. 9. Data Provider (ตอ)จ"ดเตรยมไว 4 ชน*ดแยกตามประเภทของฐานขอมล ด"งน1 ● Oracle Data Provider (หรอ OracleClient Data Provider) เป,น Data Provider ทถกออกแบบมา ส!าหร"บฐานขอมล Oracle โดยเฉพาะ ● ODBC Data Provider เป,น Data Provider ส!าหร"บ แหลงขอมลใดๆ ก-ตามทม ODBC Driver ใหใชใน การต*ดตอK.Warawut Create Database Application by using ADO.NET 9
  10. 10. Data Provider (ตอ)Data Provider แตละชน*ดขางตนจะประกอบไปดวยออบเจ-กต.ตางๆ ทท!างานรวมก"น ด"งน1 ● ออบเจกต Connection ร"บผ*ดชอบในเรองการเชอม ตอก"บฐานขอมล ● ออบเจกต Command ท!าหนาทสงค!าส"งไปประมวล ผลย"งฐานขอมล ซงค!าส"งน"1นอาจเป,น Query ในภาษา SQL หรอเป,นการเรยกใช Stored Procedure ในฐาน ขอมล เป,นตนK.Warawut Create Database Application by using ADO.NET 10
  11. 11. Data Provider (ตอ)Data Provider แตละชน*ดขางตนจะประกอบไปดวยออบเจ-กต.ตางๆ ทท!างานรวมก"น ด"งน1 ● ออบเจกต DataAdapter ท!าหนาทดงขอมลจาก ฐานขอมลมาใส (fill) ลงใน DataSet และน!าขอมล จาก DataSet ไปอ"พเดทลงฐานขอมลK.Warawut Create Database Application by using ADO.NET 11
  12. 12. Data Provider (ตอ)Data Provider แตละชน*ดขางตนจะประกอบไปดวยออบเจ-กต.ตางๆ ทท!างานรวมก"น ด"งน1● ออบเจกต DataReader เป,นออบเจ-กต.ทใชท!างาน ก"บ Result Set ในล"กษณะ forward-only (เลอนต!า แหนงเรคอร.ดไปขางหนาไดอยางเดยว) และ read- only (อานขอมลไดอยางเดยว แตเปลยนแปลงแกไข ไมได) โดยระหวางทใชออบเจ-กต.น1ท!างานก"บขอมล ในฐานขอมล จะตองเป4ดการเชอมตอก"บฐานขอมลไว ตลอดเวลา จงเป,นรปแบบทเรยกวา Connected Data Access ซงตรงก"นขามก"บการท!างานของ DataSet
  13. 13. คลาสทเป,นตนแบบของออบเจ-กต.ท"1ง 4 ชอคลาสตนแบบของออบเจ-กต. Connection, Command, ชน*ดของ Data Provider DataAdapter และ DataReader ตามล!าด"บSQL Server Data Provider SqlCommand, SqlDataAdapter และ SqlDataReader โดยท"งหมดอย ในเนมสเปซ System.Data.SqlClientOLEDB Data Provider OleDbConnection, OleDbCommand, OleDbDataAdapter และ OleDbDataReader โดยท"งหมด 1 อยในเนมสเปซ System.Data.OleDbOracle Data Provider OracleConnection, OracleCommand, OracleDataAdapter และ OracleDataReader โดยท"งหมด1 อยในเนมสเปซ System.Data.OracleClientODBC Data Provider OdbcConnection, OdbcCommand, OdbcDataAdapter และ OdbcDataReader โดยท"งหมด 1K.Warawut อยในเนมสเปซ 13 System.Data.Odbc
  14. 14. การเชอมตอกบฐานขอมล ● การเชอมตอก"บฐานขอมล Microsoft Access โดย ท"วไปจะใชคลาส OleDbConnection ในเนมสเปซ System.Data.OleDb ● การเชอมตอก"บฐานขอมล Microsoft SQL Server ก- จะใชคลาส SqlConnection ในเนมสเปซ System.Data.SqlClientK.Warawut Create Database Application by using ADO.NET 14
  15. 15. การเชอมตอกบฐานขอมล (ตอ) ● ก!าหนดรายละเอยดการเชอมตอก"บฐานขอมลทพร-อพ เพอร.ต1 ConnectionString Dim cn As New System.Data.OleDb.OleDbConnection( ) cn.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;” & _ “Data Source=C:NWIND.MDB” Dim cn As New System.Data.OleDb.OleDbConnection( ) = Dim cn As New OleDb.OleDbConnection( ) = Dim cn As New OleDbConnection( )K.Warawut Create Database Application by using ADO.NET 15 Imports System.Data.OleDb
  16. 16. การเชอมตอกบฐานขอมล (ตอ) ● การเชอมตอก"บฐานขอมลระหวาง Access 2003/2007 Access 2003 นามสกล .mdb Access 2007 นามสกล .accdbAccess 2003Provider=Microsoft.JET.OLEDB.4.0;data source=c:abc.mdbAccess 2007Provider=Microsoft.ACE.OLEDB.12.0;data source=c:abc.accdb;PersistSecurity Info=FalseK.Warawut Create Database Application by using ADO.NET 16
  17. 17. การเชอมตอกบฐานขอมล (ตอ) Dim cn As New System.Data.OleDb.OleDbConnection( ) cn.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;” & _ “Data Source=C:NWIND.MDB” or Dim cn As New System.Data.OleDb.OleDbConnection( _ “Provider=Microsoft.Jet.OLEDB.4.0;” & _ “Data Source=C:NWIND.MDB”K.Warawut Create Database Application by using ADO.NET 17
  18. 18. เป4ดและป4ดการเชอมตอ ● เป4ดการเชอมตอ ใชเมธอด Open ของออบเจ-กต. Connection cn.Open( ) ● ป4ดการเชอมตอ ใชเมธอด Close ของออบเจ-กต. Connection cn.Close( )K.Warawut Create Database Application by using ADO.NET 18
  19. 19. เป4ดและป4ดการเชอมตอ (ตอ) ● กรณทใช DataAdapter เป,นต"วกลางในการดง ขอมลจากฐานขอมลมาเก-บไวใน DataSet และสง ขอมลจาก DataSet ไปอ"พเดทลงฐานขอมลน"น ไม 1 จ!าเป,นตองเป4ดและป4ดการเชอมตอก"บฐานขอมลเอง เนองจาก DataAdapter จะเป4ดและป4ดการเชอมตอ ก"บฐานขอมลใหโดยอ"ตโนม"ต*K.Warawut Create Database Application by using ADO.NET 19
  20. 20. ท!างานก"บขอมลในฐานขอมลดวย Command Object ● Command Object ต"วแทนของค!าส"งทใช ท!างานก"บฐานขอมล ซงค!าส"งทวาน1อาจเป,น Query ของประโยคค!าส"ง SELECT, INSERT, UPDATE และ DELETE ในภาษา SQL หรอเป,นการเรยกไปย"ง Stored Procedure ในฐานขอมลก-ได (รวมท"1งอาจ เป,นค!าส"งในกล7ม DDL ของภาษา SQL ทใชสราง เทเบ*ลใหม, แกไขโครงสรางของเทเบ*ล ฯลฯ ก-ไดเชน ก"น)K.Warawut Create Database Application by using ADO.NET 20
  21. 21. ท!างานก"บขอมลในฐานขอมลดวย Command Object (ตอ) ● Command Object อาจสรางข1นมาจากคลาส OleDbCommand, SqlCommand, OracleCommand หรอ OdbcCommand ข1นอยก"บ ชน*ดของ Data Provider ทเลอกใช Dim cm As New OleDb.OleDbCommand( ) ● หล"งจากสรางออบเจ-กต. Command ข1นมาแลว จะ ตองก!าหนดคาใหก"บพร-อพเพอร.ต1ตางๆ ไดแก พร-อพ เพอร.ต1 Connection, CommandText และ (ถา จ!าเป,น) CommandTypeK.Warawut Create Database Application by using ADO.NET 21
  22. 22. ท!างานก"บขอมลในฐานขอมลดวย Command Object (ตอ)Connection Properties ● ค!าส"งใน Command Object จะถกสงไปประมวลผล ย"งฐานขอมลผานทางการเชอมตอทระบ7ไวท Connection Properties Dim cn As New System.Data.OleDb.OleDbConnection( ) cn.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;” & _ “Data Source=C:NWIND.MDB” Dim cm As New OleDb.Command( ) cm.Connection = cnK.Warawut Create Database Application by using ADO.NET 22
  23. 23. ท!างานก"บขอมลในฐานขอมลดวย Command Object (ตอ)CommandText Properties ● ใชก!าหนดค!าส"งทจะสงไปประมวลผลย"งฐานขอมล เชน ถาตองการดงขอมลจาก Field CustomerID และ CompanyName ในเทเบ*ล Customers จะตอง ก!าหนดคาสตร*งทเป,นค!าส"ง SQL ใหก"บ CommandText Properties ของ Command Object cm.CommandText = “SELECT CustomerID, CompanyName ” & _ “FROM Customers”K.Warawut Create Database Application by using ADO.NET 23
  24. 24. ท!างานก"บขอมลในฐานขอมลดวย Command Object (ตอ)CommandType Properties ● ใชก!าหนดวาคาสตร*ง (String) ใน CommandType Properties คอ ค!าส"งแบบใด โดยคาทก!าหนดได คอ (คาเหลาน1ถกรวบรวมไวในอน*วเมอเรช"น CommandType)K.Warawut Create Database Application by using ADO.NET 24
  25. 25. ท!างานก"บขอมลในฐานขอมลดวย Command Object (ตอ)CommandType Properties (ตอ)อน*วเมอเรช"น CommandType ● Text – ก!าหนดวาคาสตร*งในพร-อพเพอร.ต1 CommandText คอประโยคค!าส"งในภาษา SQL ซง ฐานขอมลจะประมวลผลค!าส"ง SQL น"น คา Text น1 1 เป,นคาดฟอลต.ของพร-อพเพอร.ต1 CommandType ด"งน"1นถาหากคาสตร*งทก!าหนดไวทพร-อพเพอร.ต1 CommandText คอค!าส"ง SQL ก-ไมจ!าเป,นตองก!า หนดพร-อพเพอร.ต1 CommandTypeK.Warawut Create Database Application by using ADO.NET 25
  26. 26. ท!างานก"บขอมลในฐานขอมลดวย Command Object (ตอ)CommandType Properties (ตอ)อน*วเมอเรช"น CommandType (ตอ) ● StoredProcedure – ก!าหนดวาคาสตร*งใน พร-อพเพอร.ต1 CommandText คอชอ Stored Procedure ในฐานขอมล ซงจะท!าให Stored Procedure น"นถกประมวลผล 1K.Warawut Create Database Application by using ADO.NET 26
  27. 27. ท!างานก"บขอมลในฐานขอมลดวย Command Object (ตอ)CommandType Properties (ตอ)อน*วเมอเรช"น CommandType (ตอ) ● TableDirect – ก!าหนดวาคาสตร*งในพร-อพเพอร.ต1 CommandText คอชอเทเบ*ลในฐานขอมล ซง Command Object จะใหผลล"พธ.เป,น Result Set ของขอมลท7ก field และท7ก record ในเทเบ*ลน"1นK.Warawut Create Database Application by using ADO.NET 27
  28. 28. ท!างานก"บขอมลในฐานขอมลดวย Command Object (ตอ) ● สามารถก!าหนด CommandText Properites และ Connection ไปพรอมก"บการสราง Command Object ไดเลย Dim strSQL As String = “SELECT * FROM Customers” Dim cm As New OleDb.Command(strSQL, cn)K.Warawut Create Database Application by using ADO.NET 28
  29. 29. ประมวลผลค!าส"งใน Command Objectหล"งจากก!าหนดพร-อพเพอร.ต1 Connection,CommandText และ CommandType แลว ใหเรยกใชเมธอด (Method) ใดเมธอดหนงตอไปน1ของCommand Object เพอสงค!าส"งไปประมวลผลย"งฐานขอมล ● ExecuteNonQuery ● ExecuteScalar ● ExecuteReaderK.Warawut Create Database Application by using ADO.NET 29
  30. 30. ประมวลผลค!าส"งใน Command Object (ตอ) ● ExecuteNonQuery Method จะสงค!าส"งไป ประมวลผลแตไมมคนคาใดๆ กล"บมาให เราจงม"กใช เมธอดน1ประมวลผลค!าส"ง SQL หรอ Stored Procedure ทเป,นการเพ*ม ลบ และแกไขขอมล ● ExecuteScalar Method จะใหผลล"พธ.เป,นขอมล ฟ4ลด.แรกของเรคอร.ดแรกใน Result Set ไมวา Result Set ทไดจะมกฟ4ลด.และกเรคอร.ดก-ตาม จง เหมาะส!าหร"บการประมวลผลค!าส"ง SQL หรอ Stored Procedure ทใชหาผลสร7ปของขอมลK.Warawut Create Database Application by using ADO.NET 30
  31. 31. ประมวลผลค!าส"งใน Command Object (ตอ) ● ExecuteReader Method จะใหผลล"พธ.เป,นออบ เจ-กต. DataReader ทใชเขาถง Result Set ใน ล"กษณะ forward-only และ read-onlyK.Warawut Create Database Application by using ADO.NET 31
  32. 32. การใชงาน DataReaderสราง DataReader ● DataReader Object คอ ออบเจ-กต.ของคลาส OleDbDataReader, SqlDataReader, OracleDataReader หรอ OdbcDataReader ข1นอย ก"บชน*ด Data Provider ทใช ● DataReader Object จะไดมาจากการเรยก ExecuteReader Method ของ Command Object เทาน"น 1 ไมระบค สง New Dim dr As OleDb.OleDbDataReader เพอสร งออบเจกต Dr = cm.ExecuteReader( )K.Warawut Create Database Application by using ADO.NET 32
  33. 33. การใชงาน DataReader (ตอ)ใช DataReader เขาถงขอมลใน Result Set ● เมอตองการเขาถงขอมลใน Result Set จะตองเรยก เมธอด Read ของ DataReader เพออานขอมลของ เรคอร.ดแรกเขามาเก-บไวใน DataReader ซงถาหาก เมธอด Read สามารถอานเรคอร.ดมาได ม"นจะให ผลล"พธ.เป,นคา True พรอมท"1งขย"บต"วช1ไปย"งเรคอร.ด ถ"ดไป Do While dr.Read( ) โคดทใชท ง นกบแตละเรคอรดใน result set ทถ$กอ นม เกบไวใน DataReader LoopK.Warawut Create Database Application by using ADO.NET 33
  34. 34. การใชงาน DataReader (ตอ)พรอพเพอรต Item ของ DataReader ● รปแบบ: datareader.Item(field) datareader ออบเจกต DataReader field ชอหรอหมายเลขลาดบของฟลดทตองการเขาถ!งขอม"ล While dr.Read( ) Dim myObject As Object = dr.Item(3) Dim myOtherObject As Object = dr.Item(“CustomerID”) Loop While MsgBox(dr.Item(“CustomerID”).ToString( ))K.Warawut Create Database Application by using ADO.NET 34
  35. 35. การใชงาน DataReader (ตอ)ป!ด DataReader ● เรยกเมธอด Close dr.Close( )K.Warawut Create Database Application by using ADO.NET 35
  36. 36. Example: DataReaderDemo ProjectsK.Warawut Create Database Application by using ADO.NET 36
  37. 37. การท!างานก"บ Query ทร"บ Parameter ● บางคร"1งเราไมรค!าส"ง SQL ทจะสงไปประมวลผลย"ง ฐานขอมลจนกวาจะถงชวง Run Time เชน เราอาจ สรางหนาจอใหผใชคนหาชอส*นคาในบร*ษ"ทของเรา ซงค!าส"ง SQL ทใชมล"กษณะ ด"งน1 SELECT * FROM Products WHERE ProductName Like ค ทใชคนหK.Warawut Create Database Application by using ADO.NET 37
  38. 38. Example: SearchDemo ProjectsK.Warawut Create Database Application by using ADO.NET 38
  39. 39. การท!างานก"บ Query ทร"บ Parameter (ตอ) ● การใชค!าส"ง SQL ทมการร"บ Parameter โดยถาเป,น ค!าส"ง SQL ทจะสงไปประมวลผลย"งฐานขอมล Microsoft Access ใหระบ7เครองหมายค!าถาม (?) ลง ไปในค!าส"งตรงต!าแหนงทตองการใหแทนดวยคาของ Parameter เชน SELECT * FROM Products WHERE ProductName Like ? ● จากน"1นใหสราง Parameter ข1นมาแลวก!าหนดคาตาม ทตองการ กอนจะสงค!าสงไปประมวลผลK.Warawut Create Database Application by using ADO.NET 39
  40. 40. การท!างานก"บ Query ทร"บ Parameter (ตอ)สรางพาราม#เตอร● พาราม*เตอร.ของค!าส"ง SQL คอ ออบเจ-กต.ของคลาส OleDbParameter, SqlParameter, OracleParameter หรอ OdbcParameter ข1นอยก"บ ชน*ดของ Data Provider ทใช ในกรณจะตองใช คลาส OleDbParameter ซงคอนสตร"คเตอร.ของม"นม รปแบบการใชงานรปแบบด"งน1 Format: OleDbParameter(name, value) name ชอ parameter value ค$าทกาหนดให parameter Dim param As New OleDbParameter(“product_name”, “Coffee”)
  41. 41. การท!างานก"บ Query ทร"บ Parameter (ตอ)เพ#ม Parameter เขาไปในคอลเลคชน Parameters ● หล"งจากสราง Parameter มาแลวจะตองเพ*มเขาไป ในคอลเล-คช"น Parameters ของ Command Object ดวย จงจะท!าใหคาของ Parameter น"นถกแทนลงใน 1 ค!าส"ง SQL ● การเพ*ม Parameter ท!าไดโดยเรยกเมธอด Add ของ คอลเล-คช"น Parameters ใน Command Object cm.Parameters.Add(param)K.Warawut Create Database Application by using ADO.NET 41
  42. 42. การท!างานก"บ Query ทร"บ Parameter (ตอ)เพ#ม Parameter เขาไปในคอลเลคชน Parameters ● หรออาจเรยกเมธอด AddWithValue เพอก!าหนดชอ และคาของ Parameter เลยก-ได ซงถาใชเมธอดน1 ก- ไมตองสรางออบเจ-กต.ของคลาส OleDbParameter ข1นมากอน cm.Parameters.AddWithValue(“product_name”, “Coffee”)K.Warawut Create Database Application by using ADO.NET 42
  43. 43. การท!างานก"บ Query ทร"บ Parameter (ตอ)เพ#ม Parameter เขาไปในคอลเลคชน Parameters ● ถาหากค!าส"ง SQL มการร"บ Parameter มากกวา 1 คา จะตองเพ*ม Parameter เขาไปในคอลเล-คช"น Parameters ตามล!าด"บของเครองหมาย ? ทระบ7ใน ค!าส"ง SQL ด"งน"1นจะเห-นไดวาชอ Parameter ไมม ความส!าค"ญเลยK.Warawut Create Database Application by using ADO.NET 43
  44. 44. การท!างานก"บ Query ทร"บ Parameter (ตอ) เพ#ม Parameter เขาไปในคอลเลคชน Parameters ● แตหากเป,นการสงค!าส"ง SQL ไปประมวลผลย"งฐาน ขอมล MS SQL Server ดวยออบเจ-กต. SqlCommand เราจะระบ7 Parameter แบบมชอ (Named Parameter) ลงในค!าส"ง SQL แทนทจะ เป,นเครองหมาย ?SELECT * FROM Products WHERE ProductName LIKE @product_name K.Warawut Create Database Application by using ADO.NET 44
  45. 45. Example: SearchParamDemo ProjectsK.Warawut Create Database Application by using ADO.NET 45
  46. 46. 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-410K.Warawut Create Database Application by using ADO.NET 46

×