Ma'lumotlar bazasiga kiritilgan o'zgarishlarni saqlash
Ma'lumotlar bazasidagi ma'lumotlarni ko'rib chiqish yaxshi va qiziqarli, ammo o'zgarishlarni
tez-tez saqlash qobiliyati ma'lumotlarni ko'rib chiqish nuqtasidir. Updatecommand xususiyati
ma'lumotlar to'plamidagi ma'lumotlarni yangilash uchun javobgardir. Bu xususiyat aslida
SqlCommand sinfining ob'ektidir.
UpdateCommand xossasi bilan ishlashning ma'nosi SelectCommandga o'xshaydi, uning
yordamida biz ma'lumotlarni tanladik. Yangilash buyrug'ida, xuddi shu tarzda, biz ma'lumotlarni
yangilash uchun ishlatiladigan SQL so'rovini yozishimiz kerak, parametrlar (Parameters
xususiyati) yordamida DataSet-dan olingan qiymatlar yangilanish so'roviga qanday o'tishini
ko'rsatishimiz kerak. Va, albatta, buyruqlarni bajarish uchun ishlatiladigan ma'lumotlar bazasi
ulanishini ko'rsatishingiz kerak. Oxirgi bayonotda siz amalga oshirishingiz mumkin bo'lgan juda
qiziqarli xususiyat mavjud - turli xil ulanishlar olish so'rovi va ma'lumotlarni yangilash uchun
ishlatilishi mumkin. Bu quyidagi maqsadlarda ishlatilishi mumkin:
• tanlash va ma'lumotlarni yangilash uchun ma'lumotlar bazasiga ulanish, agar ular to'g'ridan-
to'g'ri kodingizda yozilgan bo'lsa, turli xil hisoblardan foydalanish mumkin;
• ma'lumotlarni qidirish bir serverdan olinishi mumkin va saqlash boshqa serverda amalga
oshirilishi mumkin. Ushbu yondashuv ma'lumotlar marshruti va replikatsiya bilan ishlashda foydali
bo'lishi mumkin.
Biz tarmoqdagi ma'lumotlarni tahrirlashimiz mumkin edi, lekin o'zgarishlar saqlanmadi.
Saqlash kodini yozamiz. Ushbu misolni oching va bosilganda saqlaydigan tugmani qo'shing.
Tugma uchun Click hodisasi ishlov beruvchisini yarating va unga
private void saveButton_Click(object sender, EventArgs e) {
SqlConnection connection = CreateConnection();
SqlDataAdapter adapter =
new SqlDataAdapter("SELECT * FROM Peoples", connection);
// buyruq ob'ektini yaratish
adapter .UpdateCommand = new SqlCommand (
"UPDATE Peoples SET Фамилия = ?, Имя = ?, Пол = ? " +
"WHERE idKey = ?");
II ma'lumotlar havolasi parametrlarini yaratish
adapter. UpdateCommand. Parameters. Add (" Фамилия", SqlType. VarChar,
50, "Фамилия”);
adapter. UpdateCommand. Parameters. Add ("Имя", SqlType. VarChar,
50, "Имя");
adapter.UpdateCommand.Parameters.Add("Пол", SqlType.VarChar,
50, "Пол");
adapter.UpdateCommand.Parameters.Add("idKey", SqlType.Integer,
10, "idKey");
// ulanish ob'ektini belgilang
adapter.UpdateCommand.Connection = connection;
// ma'lumotlarni yangilash chaqiruvi
adapter.Update(dataset.Tables[ 0 ]) ;
}
UpdateCommand SqlCommand xususiyatiga ega. Ob'ektni yaratishda qavslar ichida
konstruktor faqat SQL yangilash so'rovi bilan ko'rsatiladi. Qolganlari aniq belgilanadi.
Endi biz yangilash so'rovida savol belgilari ko'rinishida ko'rsatgan parametrlarni ma'lumotlar
to'plamidan uzatiladigan parametrlar bilan bog'lashimiz kerak. Buning uchun UpdateCommand
buyrug'ining Parameters to'plamiga barcha parametrlarni qo'shish kerak. Biz allaqachon
parametrlarni qo'shdik va bu yerda ma'no bir xil. Ular SQL so'rovida tegishli savollar e'lon
qilinganidek bir xil ketma-ketlikda qo'shilishi kerak. To'plamga parametr qo'shish uchun Add()
usulidan foydalaning. Ushbu usulning bir nechta qo’shimcha yuklangan variantlari mavjud, ammo
bu yerda men to'rtta parametrni oladigan maksimal variantni tanladim:
• parametr nomi;
• ma'lumotlar turi SqlType ro'yxati sifatida;
• ma'lumotlar hajmi (ustunlar);
• ustun nomi.
Parametrlar to'plamini to'ldirgandan so'ng, men buyruq tomonidan ishlatiladigan ma'lumotlar
bazasiga ulanish ob'ektini belgilayman. Endi siz o'zgarishlarni saqlashingiz mumkin. Buning uchun
biz adapterni yangilash () usulini chaqiramiz, unga jadval yoki DataSetni o'tkazishimiz kerak.
Bizning misolimizda men null jadvalga o'tyapman, chunki faqat u to'rda ko'rsatiladi va faqat uning
ma'lumotlari foydalanuvchi tomonidan o'zgartirilishi mumkin.
Agar dasturni ishga tushirsangiz va saqlash tugmachasini bosmasdan bir vaqtning o'zida bir
nechta satrlarni o'zgartirsangiz nima bo'ladi? Bunday holda, ma'lumotlar to'plami o'z keshida
o'zgarishlarni to'playdi va tugmani bosish orqali barcha o'zgartirilgan qatorlar ma'lumotlar bazasiga
o'tkaziladi.
Dostları ilə paylaş: |