تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس 19- ربط قاعدة بيانات accessمع c#-vb.net وتنفيذ جمل إستعلام - الوضع المتصل
#1
[b]
[b]كاتب الموضوع : Tarek Aldwire


[/b]السلام عليكم ورحمة الله وبركاته...
*** ملاحظة : الفرق بين هذا الدرس والدرس 18 هو قاعدة البيانات المستخدمة فقط ***
[/b]


أولا :

قم بإنشاء قاعدة بيانات وسمها mydatabase ( تم شرح الطريقة في الدرس 17 )...
ثم قم بإنشاء جدول بها وسمه mytable وضع فيه عواميد كالتالي...

العمود - الإسم - نوع البيانات
1 - FirstName - نصية nchar(10)
2 - Age - رقم bigint

الان قم بعرض بيانات الجدول عن طريق RightClick من ال Mouse على الجدول ثم إختر Show Table Data ثم إبدأ بوضع البيانات كالتالي...

طارق - 15
إسمك - عمرك وهكذا ....




ثانيا... ربط قاعدة البيانات مع ال c#,vb.net

أولا قم بإستيراد المجال:
كود :
[COLOR=#0000BB]System[/color][color=#007700].[/color][color=#0000BB]Data[/color][color=#007700].[/color][color=#0000BB]OleDb[/color][color=#007700]; [/color]



الان ضع Button على الفورم وضع أيضا listbox ...

ثم إكتب في الكود الخاص بالحدث Click لل button1 ...

c#:
كود :
[COLOR=#0000BB]OleDbConnection cn [/color][color=#007700]= new [/color][color=#0000BB]OleDbConnection[/color][color=#007700](@[/color][color=#DD0000]"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\TD\Documents\mydatabase.mdb"[/color][COLOR=#007700]);
[/COLOR][color=#0000BB]string mycmd [/color][color=#007700]= [/color][color=#DD0000]"select FirstName,Age from mytable"[/color][COLOR=#007700];
[/COLOR][color=#0000BB]OleDbCommand loecmd [/color][color=#007700]= new [/color][color=#0000BB]OleDbCommand[/color][color=#007700]([/color][color=#0000BB]mycmd[/color][color=#007700], [/color][color=#0000BB]cn[/color][COLOR=#007700]);
[/COLOR][color=#0000BB]cn[/color][color=#007700].[/color][color=#0000BB]Open[/color][COLOR=#007700]();
[/COLOR][color=#0000BB]OleDbDataReader myreader [/color][color=#007700]= [/color][color=#0000BB]loecmd[/color][color=#007700].[/color][color=#0000BB]ExecuteReader[/color][COLOR=#007700]();
while ([/COLOR][color=#0000BB]myreader[/color][color=#007700].[/color][color=#0000BB]Read[/color][COLOR=#007700]())
{
[/COLOR][color=#0000BB]listBox1[/color][color=#007700].[/color][color=#0000BB]Items[/color][color=#007700].[/color][color=#0000BB]Add[/color][color=#007700]([/color][color=#DD0000]"firstname: " [/color][color=#007700]+ [/color][color=#0000BB]myreader[/color][color=#007700][[/color][color=#DD0000]"FirstName"[/color][color=#007700]].[/color][color=#0000BB]ToString[/color][color=#007700]() + [/color][color=#DD0000]" Age: " [/color][color=#007700]+ [/color][color=#0000BB]myreader[/color][color=#007700][[/color][color=#DD0000]"Age"[/color][color=#007700]].[/color][color=#0000BB]ToString[/color][COLOR=#007700]());
}
[/COLOR][color=#0000BB]cn[/color][color=#007700].[/color][color=#0000BB]Close[/color][COLOR=#007700]();
[/COLOR][color=#0000BB]myreader[/color][color=#007700].[/color][color=#0000BB]Close[/color][color=#007700]();[/color]



vb.net :


كود :
[color=#0000BB]Dim cn [/color][color=#007700]As New [/color][COLOR=#0000BB]OleDbConnection
cn[/COLOR][color=#007700].[/color][color=#0000BB]ConnectionString [/color][color=#007700]= [/color][COLOR=#DD0000]"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\Documents\mydatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
[/COLOR][color=#0000BB]Dim mycmd [/color][color=#007700]As [/color][color=#0000BB]String [/color][color=#007700]= [/color][COLOR=#DD0000]"select FirstName,Age from mytable"
[/COLOR][color=#0000BB]Dim cmd [/color][color=#007700]As [/color][color=#0000BB]OleDbCommand [/color][color=#007700]= New [/color][color=#0000BB]OleDbCommand[/color][color=#007700]([/color][color=#0000BB]mycmd[/color][color=#007700], [/color][color=#0000BB]cn[/color][COLOR=#007700])
[/COLOR][color=#0000BB]cn[/color][color=#007700].[/color][color=#0000BB]Open[/color][COLOR=#007700]()
[/COLOR][color=#0000BB]Dim myreader [/color][color=#007700]As [/color][color=#0000BB]OleDbDataReader [/color][color=#007700]= [/color][color=#0000BB]cmd[/color][color=#007700].[/color][COLOR=#0000BB]ExecuteReader
[/COLOR][color=#007700]While [/color][color=#0000BB]myreader[/color][color=#007700].[/color][color=#0000BB]Read[/color][COLOR=#007700]()
[/COLOR][color=#0000BB]ListBox1[/color][color=#007700].[/color][color=#0000BB]Items[/color][color=#007700].[/color][color=#0000BB]Add[/color][color=#007700]([/color][color=#DD0000]"firstname: " [/color][color=#007700]+ [/color][color=#0000BB]myreader[/color][color=#007700]([/color][color=#DD0000]"FirstName"[/color][color=#007700]) + [/color][color=#DD0000]" Age: " [/color][color=#007700]+ [/color][color=#0000BB]myreader[/color][color=#007700]([/color][color=#DD0000]"Age"[/color][color=#007700]).[/color][color=#0000BB]ToString[/color][COLOR=#007700])
[/COLOR][color=#0000BB]End [/color][COLOR=#007700]While
[/COLOR][color=#0000BB]cn[/color][color=#007700].[/color][color=#0000BB]Close[/color][COLOR=#007700]()
[/COLOR][color=#0000BB]myreader[/color][color=#007700].[/color][color=#0000BB]Close[/color][color=#007700]()[/color]



شرح الكود السابق...
أولا:
vb.net:

كود :
[COLOR=#0000BB]Dim cn [/color][color=#007700]As New [/color][COLOR=#0000BB]OleDbConnection
cn[/COLOR][color=#007700].[/color][color=#0000BB]ConnectionString [/color][color=#007700]= [/color][color=#DD0000]"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\Documents\mydatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"[/color]



c#:

كود :
[COLOR=#0000BB]OleDbConnection cn [/color][color=#007700]= new [/color][color=#0000BB]OleDbConnection[/color][color=#007700](@[/color][color=#DD0000]"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\Documents\mydatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"[/color][color=#007700]);[/color]



هنا قمنا بتعريف الإتصال الخاص بقاعدة البيانات mydatabase ...

vb.net :

كود :
[COLOR=#0000BB]Dim mycmd [/color][color=#007700]As [/color][color=#0000BB]String [/color][color=#007700]= [/color][color=#DD0000]"select FirstName,Age from mytable"[/color]



c# :

كود :
[COLOR=#0000BB]string mycmd [/color][color=#007700]= [/color][color=#DD0000]"select FirstName,Age from mytable"[/color][color=#007700];[/color]



هنا قمنا بتعريف متغير من نوع String يحوي على نص جملة الإستعلام...

vb.net :

كود :
[COLOR=#0000BB]Dim cmd [/color][color=#007700]As [/color][color=#0000BB]OleDbCommand [/color][color=#007700]= New [/color][color=#0000BB]OleDbCommand[/color][color=#007700]([/color][color=#0000BB]mycmd[/color][color=#007700], [/color][color=#0000BB]cn[/color][COLOR=#007700])
[/COLOR][color=#0000BB]cn[/color][color=#007700].[/color][color=#0000BB]Open[/color][color=#007700]()[/color]



c# :

كود :
[COLOR=#0000BB]OleDbCommand mysqlcmd [/color][color=#007700]= new [/color][color=#0000BB]OleDbCommand[/color][color=#007700]([/color][color=#0000BB]mycmd[/color][color=#007700], [/color][color=#0000BB]cn[/color][COLOR=#007700]);
[/COLOR][color=#0000BB]cn[/color][color=#007700].[/color][color=#0000BB]Open[/color][color=#007700]();[/color]




هنا قمنا بتعريف ال Command الذي سوف نرسله لقاعدة البيانات وفتح الإتصال...

vb.net :
كود :
Dim myreader
كود :
[color=#007700]As [/color][color=#0000BB]OleDbDataReader [/color][color=#007700]= [/color][color=#0000BB]cmd[/color][color=#007700].[/color][color=#0000BB]ExecuteReader [/color]



c# :

كود :
[COLOR=#0000BB]OleDbDataReader myreader [/color][color=#007700]= [/color][color=#0000BB]loecmd[/color][color=#007700].[/color][color=#0000BB]ExecuteReader[/color][color=#007700]();[/color]



الان قمنا بتعريف قارئ للبيانات علما أن أنواع القوارئ هي...



ExecuteReader: في حال كان الناتج عدد كبير من البيانات...

ExecuteNonQuery: في حال لا يوجد أي قيمة مرجعة مثل عمل update أو delete ...

ExecuteScalar : في حال كان لا يوجد إلا قيمة مرجعة واحدة مثل الإسم الأول مثلا...

ExecuteXmlReader : لأخذ الناتج على شكل XML ...


الكود التالي...

vb.net:
كود :
[color=#007700]While [/color][color=#0000BB]myreader[/color][color=#007700].[/color][color=#0000BB]Read[/color][COLOR=#007700]()
[/COLOR][color=#0000BB]ListBox1[/color][color=#007700].[/color][color=#0000BB]Items[/color][color=#007700].[/color][color=#0000BB]Add[/color][color=#007700]([/color][color=#DD0000]"firstname: " [/color][color=#007700]+ [/color][color=#0000BB]myreader[/color][color=#007700]([/color][color=#DD0000]"FirstName"[/color][color=#007700]) + [/color][color=#DD0000]" Age: " [/color][color=#007700]+ [/color][color=#0000BB]myreader[/color][color=#007700]([/color][color=#DD0000]"Age"[/color][color=#007700]).[/color][color=#0000BB]ToString[/color][COLOR=#007700])
[/COLOR][color=#0000BB]End [/color][color=#007700]While[/color]




c# :

كود :
[COLOR=#007700]while ([/color][color=#0000BB]myreader[/color][color=#007700].[/color][color=#0000BB]Read[/color][COLOR=#007700]())
{
[/COLOR][color=#0000BB]listBox1[/color][color=#007700].[/color][color=#0000BB]Items[/color][color=#007700].[/color][color=#0000BB]Add[/color][color=#007700]([/color][color=#DD0000]"firstname: " [/color][color=#007700]+ [/color][color=#0000BB]myreader[/color][color=#007700][[/color][color=#DD0000]"FirstName"[/color][color=#007700]].[/color][color=#0000BB]ToString[/color][color=#007700]() + [/color][color=#DD0000]" Age: " [/color][color=#007700]+ [/color][color=#0000BB]myreader[/color][color=#007700][[/color][color=#DD0000]"Age"[/color][color=#007700]].[/color][color=#0000BB]ToString[/color][COLOR=#007700]());
}[/COLOR]




قراءة البيانات الناتجة كما في الشكل السابق...


vb.net :



كود :
[color=#0000BB]myreader[/color][color=#007700].[/color][color=#0000BB]Close[/color][COLOR=#007700]()
[/COLOR][color=#0000BB]cn[/color][color=#007700].[/color][color=#0000BB]Close[/color][color=#007700]()[/color]



c# :



كود :
[color=#0000BB]myreader[/color][color=#007700].[/color][color=#0000BB]Close[/color][COLOR=#007700]();
[/COLOR][color=#0000BB]cn[/color][color=#007700].[/color][color=#0000BB]Close[/color][color=#007700]();[/color]



إغلاق كل شيئ تم إستخدامه وهو الإتصال والقارئ...


الان نكون قد بدأنا بأساسيات ربط قواعد البيانات...

بإذن الله في الدرس القادم سوف نطبق جمل إستعلام متقدمة والتعلم كيف عمل insert,update,delete إلى ما هنالك...


إلى اللقاء في الدرس القادم إن شاء الله...
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الدرس 22- دوال sql server RaggiTech 0 1,047 18-10-12, 04:11 PM
آخر رد: RaggiTech
  الدرس 21- Stored Procedures RaggiTech 0 928 18-10-12, 04:09 PM
آخر رد: RaggiTech
  الدرس 20- تنفيذ جمل الإستعلام insert-update-delete RaggiTech 2 968 18-10-12, 04:08 PM
آخر رد: RaggiTech
  الدرس 18- ربط قاعدة بيانات sql مع c#-vb.net وتنفيذ جمل إستعلام - الوضع المتصل RaggiTech 0 2,468 18-10-12, 03:29 PM
آخر رد: RaggiTech
  الدرس 17- مقدمة إلى قواعد البيانات RaggiTech 0 734 18-10-12, 03:21 PM
آخر رد: RaggiTech
  الدرس 16- تصميم الأدوات الخاصة RaggiTech 0 701 18-10-12, 03:20 PM
آخر رد: RaggiTech
  الدرس 15- البداية مع gdi+ RaggiTech 1 752 18-10-12, 03:16 PM
آخر رد: RaggiTech
  الدرس 14- شرح تقنية ال wpf مع بعض الأمثلة RaggiTech 4 1,102 18-10-12, 03:12 PM
آخر رد: RaggiTech
  الدرس 13- Multi-Threading RaggiTech 0 770 18-10-12, 03:03 PM
آخر رد: RaggiTech
  الدرس 12- شرح تقنية WCF والتخصص بال Sockets مع مثال RaggiTech 0 2,437 18-10-12, 02:57 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم