| السلام عليكم ورحمة الله
وبركاته
كيف الحال؟؟؟؟؟ انشاء الله بخير ونعمه
موضوع اليوم بإذن الله راح يكون عن كيفية الربط
بقاعدة بيانات مصممه عن طريق برنامج الـ
Access بلغة
C#
والموضوع مره سهل لأبعد الحدود
الكود الي راح نكتبه ما يتعدى 8 او 15 سطر فقط
اهم شيء نفهم الفكره الاساسيه وبعد كذا يجي
دور ابداعاتكم.
قبل كل حاجه احب اقلكم انه لما الواحد يبغى يربط
قاعدة بيانات لازم يحددلها شيء اسمه
Provider يعني الداعم
تقريبا وهذا الـ Provider
يكون على حسب طبيعة او البرنامج الي استخدمناه لإنشاء
قاعدة البيانات, مثلا لو زي حالتنا هنا احنا راح نربط
قاعدة بيانات مصممه ببرنامج الاكسس يعني الـ
Provider راح يكون
JET OLEDB 4.0
واذا كانت القاعدة مصممه ببرنامج
Microsoft SQL Server راح
يكون الـ Provider هو
SQL OLEDB
وفيه انواع غيرها مثلا للـ
Oracle له نوع معين.
المهم خلونا ندخل في موضوعنا
اول حاجه لازم نسوي قاعدة بيانات, في مثالنا هذا
خلونا نسميها Robatic وفيها
جدول اسمه People وهذا
الجدول يحتوي على ثلاثة Fields
(اعمده) اول واحد باسم ID
وهو الـ Primary key
والثاني باسم Name
والاخير باسم Phone
وبعد كذا نقوم بادخال كم سجل على هذي القاعده.
الحين عشان احنا نقدر نوصل لقاعدة البيانات برمجيا
لازم نستخدم الـ classes
الي موجوده في الـ namespace
الي اسمه System.Data
وكمان
System.Data.Oledb
يعني لازم نكتب في بداية البرنامج تبعنا الجملتين
التاليه:
using System.Data
using
System.Data.Oledb
بعد ما نسوي هذا الكلام راح نستخدم
كلاس اسمه OledbConnection
وهذا هو الي راح يخلينا نتصل بقاعدة البيانات الي
ذكرناه فوق, لما احنا ننشيء اوبجكت من كلاس
OledbConnection
لازم نستخدم عبارة
new وبعدها الـ
constructor تبع
OledbConnection وهذا
الكونسركتور ممكن ياخذ string
كـــ argument وهذا
الـ string عباره عن
connection string يعني فيه
كل المعلومات الي نحتاجها او الي الكمبيوتر يحتاجها
عشان يربط مع قاعدة البانات , واهم هذي المعلومات هي
نوع الربط او الـ Provider
ومكان قاعدة البيانات على الهادر دسك (ممكن تكون على
سيرفر)
وفي معلومات ثانيه زي مثلا
كلمة المرور ووجهة الاتصال في حالة النظم
الموزعه وهل جهة الاتصال موثوقه وكم الـ
time out للإتصال بس اهم
معلومتين الي هيه طريقة الربط
Provider
ومكان قاعدة البيانات في
الهارد دسك.
بعد ما نقوم بالاتصال بقاعدة
البيانات باقي علينا نطبق عمليات استفسار لقاعدة
البانات, يعني نطبق SQL Statements
عن طريق لغة السي شارب, هنا يجي دور الكلاس
OledbCommand
من اسمه نعرف انه مسؤول
عن تنفيذ اوامر SQL على
قاعدة البيانات الي هي
Select, Insert , Update , Delete, Create, Alter
فلما ننشيء اوبجكت من نوع
OledbCommand نستخدم
الكونستركتر تبع هذا الكلاس الي ممكن ياخذ
2 arguments الاولى من نوع
string والي هي تمثل
امر الـ SQL والثانيه من
نوع
OledbConnection
وهي الي راح يكون فيها الاتصال
باقي اخر واهم خطوه وهي كيف
نعرض البيانات في لغة سي شارب سواء اذا
كان المشروع تبعنا
console application او
windows application او ASP
web application
وهذي العملية ممكن نسويها باشكال
كثيره جدا ولكن هنا في موضوعنا خلونا نشوف
اسهل طريقه وهي انه نعرف اوبجكت من نوع
OledbDataReader وهذا
الانوع من الكلاس ماله كونستركتر
طيب كيف ممكن نسوي
اوبجكت منه ؟؟؟؟؟!!!
عن طريق اوبجكت من
نوع OledbCommand وبالتحديد
عن طريق مثود اسمها
ExecuteReader
خلونا نشوف السيناريو التالي:
افرض انه احنا سوينا
كونكشن لقاعدة بيانات معينه وانشئنا
اوبجكن من نوع
OledbConnection وسميناها
cn وبعدين انشئنا اوبجكت من نوه
OledbCommand وسميناها
cmd وخلينا
الـ CommandText
لها هو Select * From
someTable بعد كذا سوينا اوبجكت من
نوع OledbDataReader وبعد
كذا نفذنا الامر زي ما هو موجود في
الكود التالي:
|