Mavzu: ADO.NET
Reja:
1. ADO.NET asoslari.
2. ADO.NET oby’ekt va sinflari.
3. System.Data fazosidan foydalanish.
4. DataReader bilan ma’lumotlarni o`qish.
5. DataSet yordamida ma’lumotlarni o`qish. DataSet bilan jadval, ustun va satrlarga murojaat.
6. Ma’lumotlar bazasini yangilash. MB ga satr qo`shish. Satrlarni qidirish va o`chirish.
7. ADO.NET da SQL bilan ishlash. SQL buyruqlari.
Tayanch so`z va iboralar.
Funktsional bog`lanish, delegatlar, sinxron ulanish, System.Data fazosi,
Interfeyslar, o`tkazmalar, DataReader sinfi, DataSet sinfi, SQL buyruqlari.
1. ADO.NET asoslari.
ADO.NETga kirish. Bugungi kunda ma'lumotlar bilan ishlash katta ahamiyatga ega.
Ma'lumotni saqlash uchun turli xil ma'lumotlar bazalarini boshqarish tizimlari qo'llaniladi: MS SQL
Server, Oracle, MySQL va boshqalar. Ko'pgina
katta dasturlar, bu yoki boshqa usulda, ma'lumotlarni
saqlash uchun ushbu ma'lumotlar bazasini boshqarish tizimlaridan foydalanadilar. Ammo ma'lumotlar
bazasi va C # ilovasi o'rtasida aloqa o'rnatish uchun vositachi kerak. Va aynan shunday vositachi
ADO.NET texnologiyasidir.
ADO.NET .NET Framework asosida ma'lumotlar texnologiyasini ta'minlaydi. Ushbu
texnologiya bizga ma'lumotlar bazalariga so'rovlar
yuborish, ulanishlarni o'rnatish, ma'lumotlar
bazasidan javob olish va boshqa bir qator operatsiyalarni bajarish uchun sinflar to'plamini taqdim etadi.
Bundan tashqari, ma'lumotlar bazasini boshqarish tizimlari juda ko'p bo'lishi mumkinligini
ta'kidlash kerak. O'zlarining mohiyatiga ko'ra, ular farq qilishi mumkin. Masalan, SQL Server
so'rovlarni tuzishda T-SQL dan foydalanadi, MySQL va Oracle esa PL-SQL-dan foydalanadilar.
Turli
ma'lumotlar bazalari tizimlarida har xil turdagi ma'lumotlar bo'lishi mumkin. Boshqa fikrlar ham farq
qilishi mumkin. Biroq, ADO.NETning funktsional imkoniyatlari ishlab chiquvchilarga keng qamrovli
DBMS bilan ishlash uchun birlashtirilgan interfeysni taqdim etadigan tarzda yaratilgan.
ADO.NET-da ma'lumotlar bazasi bilan o'zaro ishlash interfeysining asosini cheklangan
ob'ektlar to'plami taqdim etadi: Connection, Command, DataReader, DataSet va DataAdapter. Ulanish
ob'ekti yordamida ma'lumotlar manbasiga ulanish o'rnatiladi. Buyruq ob'ekti ma'lumotlar
bazasi
ma'lumotlari bilan operatsiyalarni bajarishga imkon beradi. DataReader ob'ekti so'rov natijasida olingan
ma'lumotlarni o'qiydi. DataSet ob'ekti ma'lumotlar bazasidan ma'lumotlarni saqlash uchun mo'ljallangan
va ma'lumotlar bazasidan qat'i nazar ular bilan ishlashga imkon beradi. Va DataAdapter - bu DataSet va
ma'lumotlar manbai o'rtasida vositachi. Ko'pincha ma'lumotlar bazasi bilan ishlash ushbu ob'ektlardan
o'tadi.
Biroq, turli xil ma'lumotlar manbalari uchun bir xil ob'ektlardan foydalanish uchun tegishli
ma'lumot etkazib beruvchisi talab qilinadi. Aslida, ADO.NET-da ma'lumotlar etkazib beruvchisi orqali
siz ma'lumotlar bazasi bilan o'zaro aloqada bo'lasiz. Bundan tashqari, ADO.NET-dagi har bir ma'lumot
manbai uchun yuqorida ko'rsatilgan sinflarning aniq bajarilishini aniqlaydigan provayder bo'lishi
mumkin.
Odatiy bo'lib, ADO.NET-da quyidagi o'rnatilgan provayderlar mavjud:
• MS SQL Server uchun provayder
• OLE DB uchun Provayder (MS SQL Serverning eski versiyalariga, shuningdek, Access,
DB2, MySQL va Oracle ma'lumotlar bazalariga kirishni ta'minlaydi)
• ODBC uchun provayder (Provayderlar mavjud bo'lmagan ma'lumotlar
manbalari uchun
provayder)
• Oracle uchun provayder
• Provayder EntityClient. ORM Entity Framework Technology uchun ma'lumot etkazib
beruvchi
• SQL Server Compact 4.0 uchun provayder
O'rnatilgan ushbu provayderlardan tashqari, turli xil ma'lumotlar bazalari uchun mo'ljallangan,
masalan, MySQL uchun ko'plab boshqa ma'lumotlar mavjud.
ADO.NET-da ishlatiladigan asosiy nomlar:
• System.Data: ADO.NET arxitekturasini amalga oshiradigan sinflar, interfeyslar, delegatlarni
belgilaydi
• System.Data.Common: barcha ADO.NET provayderlari uchun xos bo'lgan sinflarni o'z ichiga
oladi
• System.Data.Design: O'z ma'lumotlar to'plamlarini yaratishda foydalaniladigan
sinflarni
belgilaydi.
• System.Data.Odbc: ODBC uchun ma'lumotlar etkazib beruvchisi funktsiyalarini belgilaydi
• System.Data.OleDb: OLE DB uchun ma'lumotlar etkazib beruvchisi funktsiyalarini
belgilaydi
• System.Data.Sql: SQL Serverga tegishli funktsiyalarni qo'llab-quvvatlaydigan sinflarni
saqlaydi
• System.Data.OracleClient: provayderning Oracle ma'lumotlar bazalari uchun funktsional
imkoniyatlarini belgilaydi
• System.Data.SqlClient: MS SQL Server ma'lumotlar bazalari uchun provayderning
funktsional imkoniyatlarini belgilaydi
• System.Data.SqlServerCe: SQL Server Compact 4.0 uchun provayderning funktsional
imkoniyatlarini belgilaydi
• System.Data.SqlTypes: MS SQL Servera ma'lumotlari turlari uchun sinflar mavjud
• Microsoft.SqlServer.Server: SQL Serverning o'zaro ishlashi
uchun komponentlarni va
umumiy tilning ishlash vaqtini saqlaydi.
Sxematik ravishda, ADO.NET arxitekturasini quyidagicha ko'rsatish mumkin:
Funktsional jihatdan, ADO.NET sinflarini ikki darajaga bo'lish mumkin: ulangan va ajratilgan.
Har bir .NET ma'lumotlar ta'minotchisi ulanish qatlamini tashkil etuvchi Connection, Command,
DataReader, DataAdapter va boshqa ob'ektlarning o'z versiyalarini amalga oshiradi. Ya'ni, ularning
yordami bilan MB ga ulanish o'rnatiladi va u bilan o'zaro aloqa amalga oshiriladi. Qoida tariqasida,
ushbu ob'ektlarni amalga oshirish har bir aniq provayder uchun o'z
nomlarida prefiksga ega, bu
provayderni ko'rsatadi:
DataSet, DataTable, DataRow, DataColumn va boshqa bir qator sinflar nogiron darajani tashkil
etadi, chunki DataSet-da ma'lumotlarni olgandan so'ng, biz ulanish o'rnatiladimi yoki yo'qligidan qat'iy
nazar ushbu ma'lumotlar bilan ishlashimiz mumkin. Ya'ni, ma'lumotlar bazasidan ma'lumotlarni
olgandan so'ng, dastur ma'lumot manbasidan uzilishi mumkin.