Friday, December 2, 2011

ការ​ទាញ​យក​កទិន្នន៍យ​ពី Ms. Access 2007/2010 មក​បង្ហាញក្នុង ASP.NET Page

នៅ​ពេល​នេះ ខ្ញុំ​សូម​បង្ហាញនូវឧទាហរណ៍ដ៏​សាមញ្ញ​មួយអំពីការ​ការទាញយក​ទិន្នន័យពី Ms. Access 2007/2010 មកបង្ហាញ​ក្នុង ASP.NET page ដោយប្រើ​ប្រាស់ ADO.NET។ ASP.NET page នោះ​នឹង​បង្ហាញ​ទិន្នន័យមានទំរង់​ដូច​ខាង​ក្រោម៖

ដើម្បី​បង្កើត ASP.NET page ខាង​លើ​ សូម​អនុវត្ត​តាម​ជំហាន​ដូច​ខាង​ក្រោម៖
១. ជាដំបូង​យើង​ត្រូវ​មាន Ms. Access database មួយ​មាន​ឈ្មោះ​ថា “Students.accdb” និង​រក្សា​ទុកក្នុង folder ដែល​យើង​រក្សា​ទុក ASP.NET page របស់​យើង (ឧទាហរណ៍ៈ c:\inetput\wwwroot)។
២. នៅ​ក្នុង​ Students.accdb ខាង​លើ ចូរ​បង្កើត​ table មួយ​មានឈ្មោះ​ថា “tblStudents”។ បញ្ចូល​ទិន្នន័យ​ទៅ​ក្នុង tblStudents អោយ​បាន ២ ឫ ៣ rows។
៣. បង្កើត ASP.NET page មួយ បន្ទាប់​មក​សរសេរ​កូដ​ដូច​ខាង​ក្រោម៖
(សូម​កុំ​វាយ​លេខ​រៀង​នៅ​ខាងមុខ​កូដ​។ វា​ជា​លេខ​សំគាល់​ជួរ​ដើម្បី​ងាយ​​ស្រួល​ក្នុង​ការពន្យល់។)
  1. <%@ Page Language=”VB” Debug=”true” %>
  2. <%@ import Namespace=”System.Data” %>
  3. <%@ import Namespace=”System.Data.OleDb” %>
  4. <html><head><title>Connect to Ms. Access 2007</title> </head>
  5. <body>
  6. <%
  7. Dim con As OleDbConnection
  8. Dim cmd As OleDbCommand
  9. Dim dr As OleDbDataReader
  10. con = New OleDbConnection(“Provider=Microsoft.ACE.OLEDB.12.0; Data Source=” +Server.MapPath(“Students.accdb”))
  11. cmd = New OleDbCommand(“Select StudentID, StudentName From tblStudents”, con)
  12. con.Open()
  13. dr = cmd.ExecuteReader()
  14. %>
  15. <table border=1>
  16. <tr><th>Student ID</th><th>Student Name</th></tr>
  17. <%
  18. Do While dr.Read()
  19. Response.Write(“<tr><td>” & dr.GetValue(0) & “</td><td>” & dr.GetValue(1) & “</td></tr>”)
  20. Loop
  21. %>
  22. </table>
  23. <%
  24. dr.Close()
  25. con.Close()
  26. %>
  27. </body>
  28. </html>
៤. Save page ខាង​លើ​ទៅក្នុង C:\Inetput\wwwroot និង​ដាក់​ឈ្មោះឱ្យ​វាថា “ListStudentAccess2007VB.aspx”
៥. ដើម្បីដំណើរការ page ខាងលើ សូម​បើក web browser ណាមួយ (ឧទាហរណ៍: Internet Explorer, Chrome, FireFox)។ នៅក្នុង Address Bar សូម​វាយ “http://localhost/ListStudentAccess2007.aspx” នោះ​អ្នក​នឹង​ទទួល​បាន​លទ្ធផល​ដូច​ខាងលើ។

ការ​ពន្យល់កូដ

1. ASP.NET page នេះ​ប្រើប្រាស់​ភាសា Visual Basic
3. ដោយ​សារ​យើង​ត្រូវ​ទាញ​យក​ទិន្នន័យ​ពី Ms. Access ដូច្នេះ​យើងត្រូវ​ប្រើប្រាស់ OLE DB .NET Data Provider។ ដើម្បី​ឱ្យ​យើង​អាច​ប្រើ​ប្រាស់ OLE DB .NET Data Provider បាន​ យើង​ត្រូវ​បន្ថែម namespace មួយ​ដែល​មានឈ្មោះ​ថា “System.Data.OleDb”
7. 8. 9. ប្រកាស Connection, Command និង DataReader object។
10. បង្កើត OleDbConnection object មួយឈ្មោះ “con”។ ដើម្បី​បង្កើត con object នេះ យើង​ត្រូវការ arguments ចំនួន ២ គឺ Provider និង Data Source។ ឈ្មោះ provider មាន​ខុសៗ​គ្នា​ទៅតាមប្រភេទ​របស់ database។ Provider របស់ Ms. Access 2007/2010 គឺ “Microsoft.ACE.OLEDB.12.0″ ចំនែកឯ provider របស់ Ms. Access 2003 វិញ​គឺ “Microsoft.JET.OLEDB.4.0″។ ដូច្ចេះ​ដើម្បី​ភ្ជាប់​ទៅ​កាន់ database ណាមួយ​តាម​រយៈ OleDbConnection យើង​ត្រូវ​ស្គាល់​ឈ្មោះ​provider របស់ database នោះ។
11. បង្កើត OleDbCommand object មួយ​មាន​ឈ្មោះ​ថា “cmd”។ cmd ជា object សំរាប់​ផ្ទុក​នូវ​សំនើរ ឫ SQL statement សំរាប់​បញ្ជូន​ទៅ​កាន់ database។ ដើម្បី​បង្កើត cmd object យើង​ត្រូវការ arguments ចំនួន ២ គឺ SQL statement និង con object។
12. ចាប់ផ្ដើម​ភ្ជាប់​ទៅ​កាន់ database
13. ហៅ method “ExecuteReader()” របស់ cmd object ដើម្បីបញ្ចូន SQL statement ទៅ​កាន់ database និងយកទិន្នន័យ​ដែល​ទទួល​បាន​ពី database យក​ទៅ​ផ្ទុក​ក្នុង DataReader object ឈ្មោះថា “dr”។ method “ExecuteReader()” របស់ Command object សំរាប់ប្រតិបត្តិ SQL statement ដែល return ជា resultset នោះ​គឺ SELECT statement។ Command object នៅ​មាន methods ២ ផ្សេង​ទៀតសំរាប់​ធ្វើ​ការជាមួយ SQL statement គឺ “ExecuteNonQuery()” និង “ExecuteScalare()”។ Method “ExecuteNonQuery()” សំរាប់ធ្វើ​ការជាមួយ SQL statement ទាំង​ឡាយ​ណា​ដែល​មិន return តំលៃ មាន​ដូច​ជា INSERT, UPDATE, DELETE statement។ ចំនែក​ឯ method “ExecuteScalare()” សំរាប់​ធ្វើការ​ជាមួយ SQL statement ដែល return តំលៃ​តែមួយ ​(ឧទា. SELECT COUNT(StudentID) FROM tblStudents)។
15. 16. បង្កើត HTML Table មួយ​ដែលមាន ២ columns គឺ Student ID និង Student Name
18. 19. ប្រើ Do While … Loop ដើម្បី​បង្កើត table row និង​ទាញ​យក​ទិន្នន័យ​ពី DataReader object មកបង្ហាញ​ក្នុង table row
24. 25. បិទ DataReader object និង Connection object
សូម​បញ្ចប់​ឧទាហរណ៍​នេះត្រឹម​នេះ។ សង្ឍឹម​ថា​វា​នឹង​ជួយ​ដល់​លោក​អ្នក​ក្នុង​ការ​ស្វែងយល់​បន្ថែម​អំពី ASP.NET និង ADO.NET។

No comments:

Post a Comment