الجمعة، 26 يوليو 2013

دورة الدوت نت الدرس 17- مقدمة إلى قواعد البيانات


دورة الدوت نت
الدرس 17- مقدمة إلى قواعد البيانات


السلام عليكم ورحمة الله وبركاته...

 الان سوف نبدأ بمقدمة عامة عن قواعد البيانات:

 ____________________________________

 ما هي قاعدة البيانات :

 هي عبارة عن ملف يحتوي على جداول ( مصفوفات ) تحتوي على أعمدة ( كمصفوفة داخل مصفوفة ) ...

 

 

 

 في ماذا تستخدم..؟؟

 ألم تسأل نفسك يوما كيف يمكن لبرنامج Windows Live Messenger أن يحفظ كل هذه الأعضاء كل شخص مع كلمة سره الخاصة به مع المعلومات الشخصية عنه ..... الخ....

 في الواقع المبدئ واحد وهو قاعدة البيانات...

 حيث تقوم الشركة بوضع عمود للإيميل,عمود لل password,عمود لل username وهكذا ...

 أنواع قواعد البيانات...

 أصبح هناك الكثير منها أشهرها..

 SQL server,Access,ORACLE حيث هذه الدورة سوف تختص في sql,access فقط...

 أنواع البيانات:

 إن من مميزات ال sql كثيرة أنواع بياناتها وهي كالتالي:

 

 smallint : رقم من 32,768 إلى 32,768

 

 int : رقم من 2,147,483,648 إلى 2,147,483,648

 

 bigint : رقم من 9,223,372,036,854,775,808 إلى 9,223,372,036,854,775,808

 

 tinyint : رقم من 0 إلى 255

 

 bit : رقم 0,1 فقط!

 

 decimal : رقم من 10^38 +1 إلى 10^38 –1

 

 money: رقم من 922,337,203,685,477.5808 إلى +922,337,203,685,477.5807

 

 smallmoney: رقم من 214,748.3648 إلى +214,748.3647

 

 float: رقم من 1.79E + 308 إلى 1.79E + 308

 

 real : رقم من 3.40E + 38 إلى 3.40E + 38

 

 datetime : Jan 1, 1753 إلى Dec 31, 9999

 

 char : حرف ثابت الحجم – يقبل حتى 8000 حرف

 

 varchar : يقبل حتى 8000 حرف –non Unicode

 

 varchar(max) : 455

 

 تحمل حتى non‐Unicode حروف 231 حرف

 

 text : تحمل حتى 2,147,483,647 حرف non‐Unicode حروف

 

 nchar : تحمل حتى 4,000 حرف Unicode حروف ثابتة

 

 nvarchar : تحمل حتى 4,000 حرف Unicode حروف

 

 nvarchar(max) : تحمل حتى non‐Unicode حروف 230 حرف

 

 ntext : تحمل حتى 1,073,741,823 حرف. Unicode حروف

 

 binary: بايت. of بيانات ثنائية ثابتة تحمل حتى 8,000

 

 varbinary: بايت. of بيانات ثنائية متغيرة تحمل حتى 8,000

 

 varbinary(max): بيانات ثنائية متغيرة تحمل حتى 231 بايت

 

 image: بيانات ثنائية تحمل حتى 2,147,483,647 بايت.

 

 أما عن ال Access فلن تجد مثل هذا العدد من الأنواع...

 ______________________________________________

 2- كيفية إنشاء قاعدة البيانات...

 من ال Server Explorer ( يمكنك إيجاده في القائمة View )

 إضغط Right Click على ال Data Connection ثم إختر Create New SQL Server Database

 في ال Server Name أكتب إسم سيرفرك الذي سوف تجد إسمه في ال Server Explorer ثم

 إكتب إسم ال DATABASE في New Database name وإضغط ok ...

 

 __________________________________________________ ________________________

ملاحظة هامة جدا :

 قد يظهر لك الخطأ التالي:

 

كود:

An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005,

this failure may be caused by the fact that under the default settings SQL Server does not allow remote

connections. (provider: Named Pipes Provider, error: 40 ‐ Could not open a connection to SQL Server)

إذا ظهر لك إنسخ الخطأ كما هو وضعه في google وسوف تظهر لك الكثير من الحلول بإذن الله...

 __________________________________________________ ________________________

 

 - التمرس على ال server explorer قبل البدئ بالعمل ...

 أولا يمكنك إنشاء جدول كالتالي:

 إضغط على قاعدة البيانات التي أنشأتها ضغط مزدوج...

 الان إضغط Right Click على Tables ثم إضغط Add New Table ثم ضغ في ال Table العواميد التي تشاء مع أنواع بياناتها قم إغلقه سوف يسألك عن إسم ال Table ضع ما تشاء ليكون إسما لهذا الجدول...

 

 *** ملاحظة: يمكنك مشاهدة بيانات جدول ما عن طريق Right Click على الجدول من ال server explorer وبعدها Show Table Data ....

 

 الان أصبح لديك قاعدة بيانات فيها جدول في الدرس القادم سوف نبدأ ببرمجة قواعد البيانات والدخول بها بشكل عملي إن شاء الله...

مع تحياتي : عبدالقادر البعداني 

 إلى اللقاء في الدرس القادم ....

 

الخميس، 25 يوليو 2013

دورة السي شارب الدرس 16- ربط قاعدة بيانات sql c#-مع جمل إستعلام - الوضع المتصل


دورة السي شارب
الدرس 16- ربط قاعدة بيانات sql    c#-مع جمل إستعلام - الوضع المتصل

 --- السلام عليكم ورحمة الله وبركاته ---

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

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

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

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


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

أولا قم بإستيراد المجال:
System.Data.SqlClient
الان ضع Button على الفورم وضع أيضا listbox ...

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

c#:
كود:
SqlConnection cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\Documents\mydatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
string mycmd = "select FirstName,Age from mytable";
SqlCommand mysqlcmd = new SqlCommand(mycmd, cn);
cn.Open();
SqlDataReader myreader = mysqlcmd.ExecuteReader();
while (myreader.Read())
{
listBox1.Items.Add("firstname: " + myreader["FirstName"].ToString() + " Age: " + myreader["Age"].ToString());
}
cn.Close();
myreader.Close();
أولا:
.:
c#

SqlConnection cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\Documents\mydatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
هنا قمنا بتعريف الإتصال الخاص بقاعدة البيانات mydatabase ...

c# :

كود:
string mycmd = "select FirstName,Age from mytable";
هنا قمنا بتعريف متغير من نوع String يحوي على نص جملة الإستعلام...


c# :

كود:
SqlCommand  mysqlcmd = new SqlCommand(mycmd, cn);
cn.Open();
هنا قمنا بتعريف ال Command الذي سوف نرسله لقاعدة البيانات وفتح الإتصال...


كود:
SqlDataReader myreader = mysqlcmd.ExecuteReader();
الان قمنا بتعريف قارئ للبيانات علما أن أنواع القوارئ هي...



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

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

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

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


الكود التالي...
while (myreader.Read())
{
listBox1.Items.Add("firstname: " + myreader["FirstName"].ToString() + " Age: " + myreader["Age"].ToString());
}
قراءة البيانات الناتجة كما في الشكل السابق...

cn.Close();
myreader.Close();
إغلاق كل شيئ تم إستخدامه وهو الإتصال والقارئ...


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

مع تحياتي:عبدالقادر البعداني

إلى اللقاء في الدرس القادم إن شاء الله...