មេរៀនទី២១: ការគ្រប់គ្រងទិន្នន័យ

មេរៀនទី២១: ការគ្រប់គ្រងទិន្នន័យ Database

ក្នុងជំពូកនេះអ្នកនឹងរៀនអំពីរបៀប: P បង្កើតការភ្ជាប់ database មួយដោយប្រើ Server Explorer ។P ទទួលទិន្នន័យមកវិញពី database និងមើលវាក្នុង graphic ក្នុងកម្ម វិធី Microsoft Visual Studio .NET ។ P បញ្ចូល update និងលុបទិន្នន័យជំនួយក្នុង database ។

1. ប្រើប្រាស់ ADO.NET Database ជាមួយនឹង .NET Microsoft បានសំរេចដើម្បី update ActiveX Data Objects (ADO) និងបានបង្កើត ADO.NET. ADO.NET ផ្ទុកបញ្ចូលការប្រើប្រាស់ ជាច្រើនលើ ADO ។ ប្រសិនមបើអ្នកមានសាខាជាមួយ ADO រួចស្រេចអ្នកនឹង ចំណាំថា object model នៃ ADO.NET ។ Microsoft បានបង្កើត Data Adapter និង DataSet class ដែលផ្គត់ផ្គង់ផ្តាច់ការអនុញ្ញាតទិន្នន័យ data និងប្រមាណវិធី ដែលមានទំហំធំ ។ លំហាត់ក្នុងជំពូកនេះអ្នកអនុញ្ញាតអោយចូល ទៅក្នុង database ដែលបានដំឡើងក្នុង Microsoft SQL Server 2000 ឬ Microsoft SQL Server 2000 Desktop ។ អ្នកអាចបង្កើត SQL Server 2000 Desktop Engine ដោយរត់ Setup.Exe រកមើលនៅក្នុង \Program Files\Microsoft Visual Studio .NET 2003\Setup\MSDE folder (ក្នុង folder នេះវាបានបង្កើតកាលណាអ្នកដំឡើងកម្មវិធី Visual Studio .NET) ។ អ្នកអាចត្រូវការដើម្បី restart កុំព្យូទ័ររបស់អ្នកឡើងវិញដើម្បីចាប់ផ្តើមសេវា SQL Server (ស្តង់ដា Standard version Visual C# .NET 2003 មិនអាចធ្វើ ការជាមួយ SQL Server 2000 ។ ប្រសិនបើអ្នកបានដំឡើង Standard version នៃ Visual C# .NET 2003 សូមដំឡើង Microsoft SQL Server 2000 Desktop Engine) ដើម្បីបង្កើត Microsoft SQL Server 2000 Desktop Engine version នៃ Northwind Traders database បើកក្នុង សន្លឹក command prompt រួចហើយចូលក្នុង \Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Samples\Setup folder ។ កម្មវិធី osql program ដែលមានទីតាំង\Program Files\Microsoft SQL Server\80\Tools\Binn; អ្នកត្រូវការ PATH command ដើម្បីបន្ថែម directory នេះទៅ computer របស់អ្នកស្រាវជ្រាវ path មុនពេលអ្នក execute command នេះ) ។
a2.  អនុញ្ញាតចូល Database អ្នកនឹងសរសេរកម្មវិធីដែលភ្ជាប់ទៅ database ដែលទទួលបានពី មាតិកាតារាង Products table រួចហើយបង្ហាញ មាតិកា contents ទាំងនោះ។ អ្នកនឹងបង្កើតបែងចែកដែលប្រើ Database Project ដើម្បីភ្ជាបទៅ Northwind database (អ្នកនឹងប្រើ project នេះទៅមើល database) ។ អ្នកនឹងបង្កើត កម្មវិធីប្រើប្រាស់ Windows Form ដែលប្រើប្រាស់ភ្ជាប់ database និងមើល ទិន្នន័យ data ។
ភ្ជាប់ជាមួយ database
1. ប្រើប្រាស់ Visual Studio .NET បង្កើត project ដែលប្រើ Database Project template។ អ្នកនឹងរកមើល template នេះក្នុង Database Projects folder ក្រោម Projects ផ្សេងទៀត ។ ឈ្មោះ project ListProducts និងរក្សាទុកវានៅក្នុង \Microsoft Press\Visual C# Step by Step\Chapter 21 folder ក្នុង My Documents folder របស់អ្នក ។
a
2. កាលណាអ្នកបង្កើត  project ប្រអប់ Data Link dialog box បង្ហាញនិង prompts អ្នកមើលពត៌មានអំពី database ដែលភ្ជាប់ទៅ ។ ចុចលើ Provider  និងត្រួតពិនិត្យមើលកម្មវិធី Microsoft OLE DB Provider សំរាប់ SQL Server អ្នកផ្គត់ផ្គង់ត្រូវបានជ្រើសរើស ។
3. ចុចលើ Connection ជ្រើសរើស SQL Server រួចហើយ and then មើលលក្ខណ:ទូទៅរបស់ពត៌មានដែលត្រូវការដើម្បី log on ចូលទៅក្នុង server ។ ប្រសិនបើអ្នកកំពុងប្រើប្រាស់ SQL Server 2000 Desktop Engine ឈ្មោះ server name នឹង Server របស់អ្នក\VSdotNET2003 រួចហើយអ្នកនឹងជ្រើសរើសប្រើ Use Windows NT Integrated Security option; ម្យ៉ាងទៀត administrator របស់អ្នករកមើលឈ្មោះ user name និង password អ្នកនឹងប្រើ ។ បង្កើតឈ្មោះ database name ទៅ Northwind ។
a3. ប្រសិនបើអ្នកបានបង្កើត Data Link រួចស្រេចអ្នកនឹង prompt មើលជាមួយប្រអប់ Add Database Reference dialog box ជំនួសវិញ ។ ប្រអប់ dialog box នេះនឹង list គ្រប់ database ទាំងអស់ដែលអ្នកបានប្រើ។ ប្រសិនបើកើតហេតុការណ៍ ចុចលើប៊ូតុង Add New Reference ។ ប្រអប់ Data Link Properties dialog box នឹងបង្ហាញ ។

4. ចុចលើ Test Connection ដើម្បីបង្ហាញដែលអ្នកបានបញ្ចូល ពត៌មានត្រឹមត្រូវ ។ ប្រសិនបើពត៌មានគឺត្រឹមត្រូវនឹងមានប្រអប់ message box បង្ហាញ ។ ចុចលើ OK ដើម្បីបិទប្រអប់ message box ។

5. ចុចលើ OK ដើម្បីបិទប្រអប់ Data Link Properties dialog box ។ Server Explorer បង្ហាញពីការភ្ជាប់ទិន្នន័យថ្មី ។
aការភ្ជាប់ទិន្នន័យ data ត្រូវបានផ្តល់អោយឈ្មោះ YourServer \SQLExpress.Northwind.dbo។ SQL Server គឺជាអ្នកផ្គត់ផ្គង់ទៅ server
aចុចលើ Next
aចុចលើ Next បន្តទៀត
aចុចលើ Finish ដើម្បីបញ្ចប់

មើលពត៌មាន product

1. ក្នុង Server Explorer ពង្រីកការភ្ជាប់ទិន្នន័យ data connection និងពង្រីកតារាង Table folder ដែលបង្ហាញ ។ បញ្ជី list ទាំងអស់នៃតារាង ក្នុង database បង្ហាញ ។ ពង្រីកតារាង Product table និងបញ្ជី list នៃ  columns ទាំងអស់ក្នុងតារាងបង្ហាញ ។ ចុចលើ Right-click តារាង Product table រួចចុចលើ Retrieve Data ពីតារាងនៅលើ pop-up menu ។
aលទ្ធផលបង្ហាញក្នុងតារាង Product table
aតារាង Product DataTable និងបង្ហាញដូចក្នុង checkbox
aSuppliers​ Binding Navigator
aតារាង Product Data​ Table ក្នុង NorthwindDataSet.
aធ្វើការជាមួយ Data Binding និង DataSets
a2. បិទសន្លឹកដែលបង្ហាញពត៌មាន Products កាលណាអ្នកបានបញ្ចប់ browsing ។

បង្ហាញ products data ក្នុង Windows Forms application

1. ក្នុង Solution Explorer ចុចលើ right-click Solution ListProducts ។ នៅលើ pop-up menu បន្ថែម Add រួចហើយចុចលើ New Project ។ បន្ថែមប្រអប់ Add New Project dialog box ដែលបានបើក បង្កើត new project ថ្មីនិងបន្ថែមវាទៅ ListProducts ដោយ automatic ។

2. ក្នុង Project Types pane ជ្រើសរើស Visual C# Project រួច ហើយចុចលើ Windows Application ក្នុង Templates pane ។ ឈ្មោះ project DisplayProducts និងផ្ទុកវានៅក្នុង \Microsoft Press\Visual C# Step by Step\Chapter 2០ folder ក្នុង My Documents folder របស់អ្នក រួចចុចលើ OK ។  project​ ថ្មីដែលហៅថា DisplayProducts ត្រូវបានបង្កើត និង Design View នៃ Form1.cs ដែលបានបង្ហាញក្នុងសន្លឹក Design View។

3. ប្តូរឈ្មោះ Rename Form1.cs ទៅ ProductsForm.cs រួចប្តូរ ឈ្មោះនៃ Form1 class ទៅ ProductsForm ។

4. ក្នុងសន្លឹក Design View ចុចលើ form ។ ក្នុងសន្លឹក Properties ប្តូរ Text property នៃ ProductsForm ដើម្បីផលិត ។

5. បង្ហាញ Code View សំរាប់ ProductsForm ។ ក្នុង Code និង សន្លឹក Text Editor រកមើល Main method រួចហើយប្តូរ Application.Run statement ដើម្បីបង្កើតនិងបង្ហាញ ProductsForm object ដូចជា Form1:

Application.Run(new ProductsForm());

6. ត្រឡប់ Design View របស់ ProductsForm ។ ក្នុង Server Explorer ទាញតារាង Product នៅលើ form ។ កត់ចំណាំថា objects ពីនៅ ក្រោម form ដែលហៅថា sqlConnection1 និង sqlDataAdapter1 ។ ដែល sqlConnection1 object មានផ្ទុក properties ដែលលក្ខណ:ពិសេស database ភ្ជាប់ទៅវា ។ អ្នកអាចប្តូរពត៌មាននេះដោយផ្លាស់ប្តូរ Connection String property ក្នុង Properties ។

7. ជ្រើសរើស sqlDataAdapter1 control និង ពិនិត្យមើលសន្លឹក Properties ។ កត់ចំណាំថា DeleteCommand, InsertCommand, SelectCommand និង UpdateCommand properties ។  ដែល SqlCommand objects ទាំងនេះយកតាម ។
a8. ពង្រើកមើល DeleteCommand property កត់ចំណាំថា SQL DELETE statement ដែលត្រូវបានប្រតិ្តបត្តិកាលណាកម្មវិធីត្រូវការលុបទិន្នន័យ delete data ក្នុង CommandText property រួចហើយភ្ជាប់ទៅ database ក្នុងការភ្ជាប់ Connection property ។

9. ជ្រើសរើស CommandText property រួចចុចលើប៊ូតុង Ellipses ប្រអប់ Query Builder dialog box បានបើករួចបង្ហាញ SQL DELETE statement ក្នុង graphical form ជាមួយ SQL form ។

10. ចុចលើ Cancel នៅសន្លឹក Properties ខាងក្រោមកត់ចំណាំថា  មានបី hyperlinks ដែលដំឡើង Data Adapter, Generate Dataset និង Preview Data ។

11. បង្កើត Generate Dataset hyperlink ។ ប្រអប់ Generate Dataset dialog box បានបើក ។

12. ចាកចេញពីក្នុងមាតិការនៃប្រអប់ Generate Dataset dialog box បង្កើតតំលៃ default រួចចុចលើ OK ។ ដែលហៅថា dataSet11 បង្ហាញក្រោម ProductsForm ។

13. ក្នុង Toolbox ដែលជ្រើសរើស DataGrid control រួចហើយទាញ វានៅលើ ProductsForm ។

14. ប្តូរទំហំ Resize ProductsForm គឺ 812, 500 (ទទឹង ​DataGrid និងបណ្តាយ scrollbar) ។ បង្កើត Dock property នៃ dataGrid1(DataGrid

object ត្រូវបានបង្កើតនៅជំហានខាងមុខ) ។ បំពេញ DataGrid object ទៅ

ក្នុង form ។ ខណ:ដែល​​​​​​ dataGrid1 ត្រូវបានជ្រើសរើសបង្កើត DataSource property ទៅក្នុង dataSet11.Products ។

15. ប្តូរ Code និងសន្លឹក Text Editor ដែលបង្ហាញProductsForm.cs (method ដែលហៅថា ProductsForm) ។ ប្តូរ TODO comment ជាមួយ statement ខាងក្រោមនេះ:

sqlDataAdapter1.Fill(dataSet11);

16. Build និង execute កម្មវិធី កាលណា ProductsForm បង្ហាញ បំពេញ DataSet ។  DataGrid (ដែលប្រើ DataSet ដូចជាប្រភព data source) ដែលបង្ហាញមាតិការតារាង Products table ។
a

17. បិទ form និងត្រឡប់ទៅកម្មវិធី Visual Studio .NET ។

3. របៀបបន្ថែម code ទៅរក្សាទុក

1. បញ្ជាក់ ProductsForm ត្រូវបានបង្ហាញក្នុង Design View ។ ក្នុង ប្រអប់ Toolbox ទាញ MainMenu control ពីកន្លែងណាមួយទៅក្នុង form ។ control មួយថ្មីដែលហៅថា mainMenu1 បង្ហាញក្រោម form ។

2. ចុចលើ mainMenu1 ។ វាយសរសេរក្នុង caption ត្រូវបានបង្ហាញ ក្នុង menu bar នៃ ProductsForm ។ ប្រើបច្ចេកទេសបង្កើត File menu item (ដោយប្រើ caption &File) ដែលផ្ទុក submenu item  &Save និង submenu item ផ្សេងទៀត E&xit. ឈ្មោះ menu items fileItem, saveItem និង exitItem ។

a3. ក្នុង menu editor ជ្រើសរើស exitItem ។ ក្នុងសន្លឹក Properties ចុចលើ Events ជ្រើសរើសចុចលើ event វាយសរសេរ exitItemClick រួចចុច លើ Enter ។ exitItemClick method បង្ហាញក្នុង Code និងសន្លឹក Text Editor ។

4. ក្នុង Code និងសន្លឹក Text Editor បន្ថែម statement ខាងក្រោម ទៅ exitItemClick method:

this.Close();

5. ត្រឡប់ Design View និងជ្រើសរើស saveItem ក្នុង menu editor ។ ក្នុងសន្លឹក Properties ជ្រើសរើស event វាយសរសេរ saveItemClick រួចចុចលើ Enter ។ saveItemClick method បង្ហាញក្នុង Code និងសន្លឹក Text Editor ។

6. ក្នុង Code និងសន្លឹក Text Editor បន្ថែម statements ខាងក្រោម ទៅក្នុង saveItemClick method:

try

{

DataSet changedData = dataSet11.GetChanges();

if (changedData != null)

{

int numRows = sqlDataAdapter1.Update(changedData);

MessageBox.Show(“Database updated ” + numRows +

” rows successfully”, “Success”);

dataSet11.AcceptChanges();

}

else

{

MessageBox.Show(“Nothing to save”, “No changes”);

}

}

catch(Exception ex)

{

MessageBox.Show(“An error occurred updating the database: ” +

ex.Message, “Error”, MessageBoxButtons.OK,

MessageBoxIcon.Error);

dataSet11.RejectChanges();

}

7. Build និងរត់ដំណើរការ កាលណា Products form បង្ហាញប្តូរ SupplierID នៃ row ជួរដំបូងគឺ 4 ។ ប្តូរ UnitPrice នៃជួរទីពីរគឺ 50 ។ ខាងលើ ជួរទីបី row (អ្នកបានប្តូរពីជួរ row មុនរបស់វាដែលបានប្តូរត្រូវបានរក្សាទុក) រួច ហើយនៅលើ File menu ចុចលើ Save ។ អ្នកនឹងទទួលបាន Success message box ដែលបង្ហាញពីរជួរដែលត្រូវបានផ្លាស់ប្តូរ ។ ចុចលើ OK រួចបិទ ប្រអប់ message box ។

8. ចុចលើ gray selector (ដែលផ្ទុក arrow) ទៅខាងឆ្វេងនៃជួរទីបី រួចចុចលើ Delete ។ Row 3 មិនបង្ហាញមើល ។ នៅលើ File menu ចុចលើ Save ។

9. ចុចលើ OK ដើម្បីបិទប្រអប់ message box ។ ចាំថា row 3 បង្ហាញឡើងវិញក្នុង DataGrid ។

10. នៅលើ File menu ចុចលើ Exit ដើម្បីបិទកម្មវិធីប្រើប្រាស់រួច ត្រឡប់ទៅកម្មវិធី Visual Studio .NET ។

ភ្ជាប់ database

1. បង្កើត project ថ្មីដែលហៅថា ReportOrders ដែលប្រើ Console Application template ។ រក្សាទុក Save វានៅក្នុង \Microsoft Press\Visual C# Step By Step\Chapter 2០ folder ក្នុង My Documents folder របស់អ្នករួចចុចលើ OK ។

2. ក្នុង Solution Explorer ប្តូរឈ្មោះ Class1.cs ទៅក្នុង Report.cs. ក្នុងសន្លឹក Properties ប្តូរឈ្មោះ Class1 class ទៅក្នុង Report ។

3. ក្នុងប្រអប់ Code និងសន្លឹក Text Editor បន្ថែម statement ដូច ខាងក្រោមដែលប្រើ using System; statement:

using System.Data.SqlClient;

System.Data.SqlClient namespace ដែលមានផ្ទុកមាននៅក្នុង ADO.NET classes ដែលប្រើអនុញ្ញាតចូលក្នុង SQL Server ។

4. ទីតាំង Main method នៃ Report class ។ បន្ថែម try/catch ទៅក្នុង Main method ។ គ្រប់ code ទាំងអស់ដែលអ្នកសរសេរអនុញ្ញាតចូល ទៅក្នុង database ។

try

{

// You will add your code here in a moment

}

catch(Exception e)

{

Console.WriteLine(

“An? error occurred accessing the database: ” +e.Message);

}

5. ប្តូរ code ខាងក្រោមដែលភ្ជាប់ទៅ database:

SqlConnection dataConnection = new SqlConnection();

dataConnection.ConnectionString = “Integrated Security=true;” +

“Initial Catalog=Northwind;” +

“Data Source=YourServer\\VSdotNET2003”;

dataConnection.Open();