Misol
SQL autentifikatsiya
satri constr="server=.;database=institute;user id=rakesh;word=abc@123";
Yoki:
String constr="ma'lumotlar manbai=.;initial catalog=institute;uid=rakesh;pwd=abc@213";
Windows autentifikatsiya
qatori constr="server=.;database=institute;trusted_connection=true"
Yoki:
String constr="server=.;dastlabki katalog=institute;integratsiyalangan xavfsizlik=true"
Ma'lumotlar bazasidan ma'lumotlarni qanday olish va ko'rsatish
Ulanish satri yordamida SqlConnection obyektini yarating.
Istisnolarni ko'rib chiqing.
Ulanishni oching.
SQLCommand yarating. SQLCommandni ifodalash uchun (talabalar ma'lumotlaridan * ni tanlang) va unga mavjud ulanishni biriktiring. SQLCommand turini belgilang (matn/saqlangan protsedura).
Buyruqni bajaring (executereader-dan foydalaning).
Natijani oling (SqlDataReader-dan foydalaning). Bu faqat oldinga/faqat o'qishga mo'ljallangan ma'lumotlar obyektidir.
Ulanishni yoping
Natijani qayta ishlang
Natijani ko'rsatish
Quyida SQL ma'lumotlar bazasiga ulanish uchun kod keltirilgan:
SQL ma'lumotlar bazasiga ulanish uchun System.Data.SqlClient nom maydonidan foydalanishingiz kerak. Oldingi kodda biz SqlConnection sinfidan, SqlCommand sinfidan va SqlDataReader sinfidan foydalanmoqdamiz, chunki bizning ilovamiz SQL Server bilan gaplashmoqda. SQL Server faqat SQLni tushunadi.
Oracle ma'lumotlar bazasiga ulanish uchun kod
Agar siz Oracle ma'lumotlar bazasiga ulanishni istasangiz, ulanish sinfi nomini SqlConnection dan OracleConnection Buyruq sinf nomini SqlCommand dan OracleCommand ga va SqlDataReader OracleDataReader ga o'zgartirishingiz kerak, shuningdek, dastlab System.Data.OralceClient nom maydonidan foydalaning. .
Bu OleDb va ODBC uchun ham ishlaydi.
2.2.ADO.NET DataReader
ADO.NET DataReader ob'ekti ma'lumotlar omboridan ma'lumotlarga kirish uchun ishlatiladi va ADO.NET taqdim etgan ikkita mexanizmdan biridir. Eslatib o‘tamiz, DataReader obyekti faqat o‘qish, faqat oldinga siljish, ma’lumotlar omboridan ma’lumotlarni ma’lumotlar oqimi sifatida olish uchun yuqori unumdorlik mexanizmini ta’minlaydi va shu bilan birga ma’lumotlar manbai bilan bog‘lanadi. DataReader cheklangan, lekin yuqori darajada optimallashtirilgan. .NET ramkasi SQL Server mahalliy OLE DB provayderlari va mahalliy ODBC drayverlari uchun ma'lumotlar provayderlarini taqdim etadi,
SqlDataReader
OleDbDataReader
OdbcDataReader
Maʼlumotlar bazasidan faqat oʻqish uchun moʻljallangan, faqat oldinga moʻljallangan maʼlumotlar oqimini olish uchun ADO.NET DataReader dasturidan foydalanishingiz mumkin. DataReader-dan foydalanish dastur unumdorligini oshirishi va tizim yukini kamaytirishi mumkin, chunki xotirada bir vaqtning o'zida faqat bitta qator bo'ladi. Buyruq obyektining namunasini yaratgandan so'ng, quyidagi misolda ko'rsatilganidek, ma'lumotlar manbasidan satrlarni olish uchun Command.ExecuteReader-ga qo'ng'iroq qilish orqali DataReader yaratasiz.
SqlDataReader myReader = myCommand.ExecuteReader();
So'rov natijalaridan qatorni olish uchun DataReader obyektining Read usulidan foydalanasiz. Qaytarilgan satrning har bir ustuniga ustun nomini yoki tartibli havolasini DataReader-ga o'tkazish orqali kirishingiz mumkin. Biroq, eng yaxshi ishlash uchun DataReader o'zlarining mahalliy ma'lumotlar turlarida (GetDateTime, GetDouble, GetGuid, GetInt32 va boshqalar) ustun qiymatlariga kirish imkonini beruvchi bir qator usullarni taqdim etadi. Yozilgan aksessuar usullari ro'yxati uchun OleDbDataReader sinfiga va SqlDataReader sinfiga qarang. Asosiy ma'lumotlar turi ma'lum bo'lganda, yoziladigan qo'shimcha qurilmalar usullaridan foydalanish ustun qiymatini olishda talab qilinadigan turdagi konvertatsiya miqdorini kamaytiradi.
Quyidagi kod misoli DataReader obyekti orqali takrorlanadi va har bir satrdan ikkita ustunni qaytaradi.
while (myReader.Read())
Console.WriteLine( "\t{0}\t{1}" , myReader.GetInt32(0), myReader.GetString(1));
myReader.Close();
DataReader protsessual mantiqqa ma'lumotlar manbasidan natijalarni ketma-ketlikda samarali qayta ishlash imkonini beruvchi buferlanmagan ma'lumotlar oqimini ta'minlaydi. DataReader katta hajmdagi ma'lumotlarni olishda yaxshi tanlovdir, chunki ma'lumotlar xotirada keshlanmagan. DataReader obyektidan foydalanishni tugatgandan so'ng har doim Close usulini chaqirishingiz kerak. Agar sizning Buyruqingizda chiqish parametrlari yoki qaytarish qiymatlari bo'lsa, ular DataReader yopilmaguncha mavjud bo'lmaydi.
E'tibor bering, DataReader ochiq bo'lsa, Ulanish faqat shu DataReader tomonidan qo'llaniladi. Asl DataReader yopilmaguncha siz Ulanish uchun hech qanday buyruqni, shu jumladan boshqa DataReader yaratishni ham bajara olmaysiz.
Do'stlaringiz bilan baham: |