Mavzu: Ma’lumotlar bazasini yangilash.
Reja:
Ma’lumotlar bazasini yangilash.
Olingan natijalarning tavsifi.
1. Ma’lumotlar bazasini yangilash.
Endi ma’lumotlar bazasidan ma’lumotlarni o‘qish imkoniyati mavjud bo‘lsa, savol tug‘iladi: ularni qanday o‘zgartirish mumkin? Ushbu bo‘limda yana bir bor faqat bitta jadvalni ishlatib, ayni paytda ushbu bobda keltirilgan bir nechta yangi narsalarni taqdim etadigan juda oddiy misol keltirilgan.
Odatda ma’lumotlar bazasida amalga oshirishni istagan barcha harakatlar (yozuvlarni yangilash, qo‘shish va o‘chirish) bir xil shablonga muvofiq amalga oshirilishi mumkin.
1. DataSet ni ishlaydigan ma’lumotlar bazasidan ma’lumot bilan to‘ldirish.
2. DataSet dagi ma’lumotlarni o‘zgartirish (masalan, yozuvlarni yangilash, kiritish yoki o‘chirish).
3. Barcha modifikatsiyalardan so‘ng ma’lumotlar bazasiga DataSet dagi o‘zgarishlarini saqlash.
Ushbu ketma-ketlik bilan bir necha marta misollarni ko‘rib chiqasiz va ma’lumotlar bazasini yangilash uchun aniq SQL sintaksisi haqida xavotirlanishga hojat yo‘q va ma’lumotlar bazasidagi barcha o‘zgarishlar bir vaqtning o‘zida bajarilishi mumkin.
Keyingi amaliy mashg‘ulotda siz yozuvlarni qo‘shish va o‘chirishdan oldin ma’lumotlar bazasida yangilanishlarni ko‘rib chiqishni boshlaysiz.
Sizning mijozlaringizdan biri, Bottom-Dollar Markets, nomini Acme, Inc. ga o‘zgartirdi. Ma’lumotlar bazasida kompaniyaning nomini o‘zgartirishingiz kerak. Shunday qilib, Northwind SQL Server/MSDE ma’lumotlar bazasi versiyasida ishlatiladi.
1. С:\BegVCSharp\Chapter28 katalogida UpdatingData deb nomlangan yangi konsol ilovasini yarating.
2. ADO.NET Sinflaridan foydalanish uchun using ko‘rsatmalarini qo‘shing:
#region Using Directives
using System;
using System.Data; // ADO.NET nomlar maydonidan foydalanish
using System.Data.SqlClient;// SQL Server ma’lumotlar provayderi
// nomlar maydonidan foydalanish
using System.Collections.Generic;
using System.Text;
#endregion
3. Добавить следующий код в Main ():
static void Main(string [ ] args)
{
// SQL serverga xos ulanish qatorini belgilang
SqlConnection thisConnection = new SqlConnection (
@"Data Source=.\SQLEXPRESS;"+
@"AttachDbFilename=’C:\SQL Server 2000 Sample Databases\N0RTHWND.MDF’;" +
@"Integrated Security=True;Connect Timeout=30;User Instance=true" );
// Yangilash va boshqa operatsiyalar uchun DataAdapter ob’ektini yaratish
SqlDataAdapter thisAdapter = new SqlDataAdapter(
"SELECT CustomerlD, CompanyName FROM Customers", thisConnection);
// SQL buyruqlarini yaratish uchun CommandBuilder ob’ektini yaratish
SqlCommandBuilder thisBuilder = new SqlCommandBuilder(thisAdapter);
// Ma’lumotlar jadvallarini, qatorlarni va ustunlarni saqlash uchun DataSet yaratish
DataSet thisDataSet = new DataSet ();
// DataAdapter da ilgari aniqlangan so‘rov yordamida DataSet ni to‘ldirish
thisAdapter.Fill(thisDataSet, "Customers");
// O‘zgartirishdan oldin ma’lumotlarni ko‘rsatish
Console.WriteLine("название до изменения: {0}",
thisDataSet.Tables["Customers"].Rows[9]["CompanyName"]);
// Customers jadvalidagi CompanyName ustunining 9-satri ma’lumotlarni o‘zgartirish
thisDataSet.Tables["Customers"].Rows[9]["CompanyName"] = "Acme, Inc.";
// Jadvaldagi o‘zgarishlarni aniqlash uchun Update buyrug‘ini chaqirish
thisAdapter.Update(thisDataSet, "Customers");
Console.WriteLine("название после изменения: {0}",
thisDataSet.Tables["Customers"].Rows[9]["CompanyName"]);
thisConnection.Close();
Console.Write("Программа завершена, нажмите Enter для продолжения:");
Console.ReadLine() ;
}
4. Dasturni ishga tushirganda quyidagi natija ko‘rsatiladi:
название до изменения: Bottom-Dollar Markets
название после изменения: Acme, Inc.
Программа завершена, нажмите Enter для продолжения:
Do'stlaringiz bilan baham: |