![]() |
|
التعامل مع قواعد البيانات Sql Server 2005 خطوة بخطوة - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40) +--- قسم : قسم مقالات SQL SERVER (http://vb4arb.com/vb/forumdisplay.php?fid=84) +--- الموضوع : التعامل مع قواعد البيانات Sql Server 2005 خطوة بخطوة (/showthread.php?tid=4502) الصفحات:
1
2
|
التعامل مع قواعد البيانات Sql Server 2005 خطوة بخطوة - Mr. DotNet - 26-09-12 بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته اقدم لكم اليوم موضوع مفيد باذن الله
التعامل مع قواعد البيانات Sql Server 2005 خطوة بخطوة المرحلة الأولى
_________ انشاء قاعدة بيانات SQL Server 2005 تشغيل VB.NET
من قائمة ( View ) نختار ( Server Explorer ) رح يبين معنا على يسار الشاشة قائمة بنعمل Right click على ( Data Connections ) و بنضغط على (Create New SQL Server DataBase ) كما بالصورة الان يجب علينا تحديد السيرفر الذي سنقوم بعمل قاعدة البيانات عليه
و بما انا نعمل على SQL Server 2005 Express فسيكون السيرفر ( .\SQLExpress ) و سنقوم بتسمية قاعدة البيانات باسم ( vb4arab ) كما بالصورة التالية
الاتصال مع قاعدة البيانات الان نقوم بعمل الجداول داخل قاعدة البيانات اولا بنضغط كما بالصورة على ( Add New tble ) نقوم الان بعمل الحقول داخل الجدول وحفظة كما بالصورة
قمنا بعمل ثلاث حقول و تسمية الجدول باسم ( VB ) المرحلة الثانية بعد ان قمنا بعمل قاعدة البيانات بقي الان علينا الاتصال بها
ولانا سنقوم بالاتصال مع قاعة بيانات من نوع ( SQL Server ) سنقوم باستيراد مكتبة الـ SqlClient للتعامل مع قاعدة البيانات بنضع الكود التالي في الـ ( General ) كود : [align=center][SIZE=2][color=#0000ff]Imports[/color][/SIZE][SIZE=2] System.Data.SqlClient[/SIZE]بعد ان قمنا باستيراد الـ ( SqlClient ) سنقوم الان بتعريف الاتصال
بما انا سنستخدم الاتصال في اكثر من مكان بالبرنامج سنقو بتعريفة بالكلاس لنتمكن من استخدامه بدل كتابته في كل زر اولا ..
نقوم بتعريف متغير للاتصال ( Con ) مثلا واسناد قيم الاتصال له والقيم هي 1- server=.\sqlexpress 2- [SIZE=2]database=vb4arab[/SIZE] [SIZE=2]3- [SIZE=2]integrated security=true[/SIZE][/SIZE] [SIZE=2][SIZE=2]الكود كالتالي
كود : [/SIZE][/COLOR][/SIZE][/SIZE][/SIZE][/SIZE] [COLOR=#000000]بعد ان قمنا بتحديد الاتصال و مكانه اصبحنا الان قادرين على الاتصال بها من خلال الكود التالي الذي سنستخدمه بعد قليل عن القيام بعمليات على قاعدة البيانات
كود فتح الاتصال كود : [/COLOR][/COLOR][/SIZE]كود انهاء الاتصال كود : [align=center][SIZE=2]Con.Close()[/SIZE]الان قمنا بالاتصال مع قاعدة البيانات بقي علينا القيام بالعمليات عليها المرحلة الثالثة الاضافة على قاعدة البيانات بعد ان قمنا بعمل قاعدة البيانات و الاتصال بها بقي الان علينا القيام بالعمليات عليها و من هذه العمليات الاضافة من اهم الاغراض التي تستخدم بها قاعدة البيانات هي تخزين البيانات بها لاسترجاعها وقت الحاجة بداية سنقوم بتعريف متغير لاسناد اوامر ال SQL اليه و بما انا سنستخدمه كثيرا في البرنامج سنقوم بتعريفه داخل الكلاس نفرض ان المتغير هو ( ٍSqlStr ) نقوم الان بتعريفه كالتالي كود : [SIZE=2][color=#0000ff]Dim [/color][/SIZE][SIZE=2]SqlStr [/SIZE][SIZE=2][color=#0000ff]As[/color][/SIZE][SIZE=2][color=#0000ff]String[/color][/SIZE]وسنحتاج ايضا الى متغير اخر لحمل الاومر وتنفيذها داخل قاعدة البيانات وسيكون من نوع SqlCommand و ايضا سنستخدمه كثير لذا نقوم بتعريفة داخل الكلاس وبالنفرض ان اسمه هو ( Cmd ) كود : [SIZE=2][color=#0000ff]Dim [/color][/SIZE][SIZE=2]Cmd [/SIZE][SIZE=2][color=#0000ff]As[/color][/SIZE][SIZE=2] SqlCommand[/SIZE]الان سنقوم بالاضافة امر الاضافة بالـ ( SQL ) كالتالي ( INSERT INTO TableName VALUES FieldValue ) وعلى هذا الاساس سنكمل الان عندنا ثلاث قيم للادخال في برناجنا وهي 1- UserID 2- Username 3-Password لذا سنقسم الامر كالتالي كود : [SIZE=2]SqlStr = [/SIZE][SIZE=2][color=#a31515]"INSERT INTO VB(UserID, Username, Password)"[/color][/SIZE] [SIZE=2]SqlStr = SqlStr & [/SIZE][SIZE=2][color=#a31515]"VALUES"[/color][/SIZE] [SIZE=2]SqlStr = SqlStr & [/SIZE][SIZE=2][color=#a31515]"('"[/color][/SIZE][SIZE=2] & TextBox1.Text.Trim & [/SIZE][SIZE=2][color=#a31515]"', '"[/color][/SIZE][SIZE=2] & TextBox2.Text.Trim & [/SIZE][SIZE=2][color=#a31515]"', '"[/color][/SIZE][SIZE=2] & TextBox3.Text.Trim & [/SIZE][SIZE=2][color=#a31515]"')"[/color][/SIZE]شرح الكود في السطر الاول اخبرنا انه سيتم ادخال ثلاث قيم داخل الجول ( VB ) في السطر الثاني ربطناه بكلمة ( VALUES ) السطر الثالث هي القيم التي سيتم ادخالها داخل القاعدة و هي موجودة داخل الـ TextBoxes الان اصبح الامر جاهزا بقي تنفيذه بما انا عرفنا متغير لحمل الامر و تنفيذه داخل قاعدة البيانات نكتب الامر التالي كود : [SIZE=2]Cmd = [/SIZE][SIZE=2][color=#0000ff]New[/color][/SIZE][SIZE=2] SqlCommand(SqlStr, Con)[/SIZE]شرح الكود اخبرنا المتغير انا نريد امر جديد و سينفذ امر ال SQL الذي خزناه داخل متغير ( SqlStr ) في الاتصال الذي عرفناه بالكلاس في الدرس السابق و هو ( Con ) الان الماغير يحمل القيم و يعرف مكان قاعدة البيانات بقي الان علينا ان نفتح الاتصال و تنفيذ الامر كما ذكرنا سابقاً ان كود فتح الاتصال هو كود : [SIZE=2]Con.Open()[/SIZE]الان فتحنا الاتصال الان جاء وقت تنفيذ الامر بالكود التالي كود : [SIZE=2]Cmd.ExecuteReader()[/SIZE]الكود السابق نفذ ( Cmd ) التي تحمل الامر و مكان الاتصال بعد ان نفذ الامر الان سنقوم بارجاع الاتصال الى حالة الخمول بمعنى اخر سنقوم بقطع الاتصال كود : [SIZE=2]Con.Close()[/SIZE]يمكننا الان اخراج رسالة للمستخدم تفيد بانه تم حفظ البيانات (اختياري) كود : [SIZE=2]MsgBox([/SIZE][SIZE=2][color=#a31515]"Data Saved Successfully"[/color][/SIZE][SIZE=2])[/SIZE]الان قمنا بالاضافة بنجاح الى قاعدة البيانات و هذه الكود كامل لحفظ البيانات كود : [SIZE=2]SqlStr = [/SIZE][SIZE=2][color=#a31515]"INSERT INTO VB(UserID, Username, Password)"[/color][/SIZE] [SIZE=2]SqlStr = SqlStr & [/SIZE][SIZE=2][color=#a31515]"VALUES"[/color][/SIZE] [SIZE=2]SqlStr = SqlStr & [/SIZE][SIZE=2][color=#a31515]"('"[/color][/SIZE][SIZE=2] & TextBox1.Text.Trim & [/SIZE][SIZE=2][color=#a31515]"', '"[/color][/SIZE][SIZE=2] & TextBox2.Text.Trim & [/SIZE][SIZE=2][color=#a31515]"', '"[/color][/SIZE][SIZE=2] & TextBox3.Text.Trim & [/SIZE][SIZE=2][color=#a31515]"')"[/color][/SIZE] [SIZE=2]Cmd = [/SIZE][SIZE=2][color=#0000ff]New[/color][/SIZE][SIZE=2] SqlCommand(SqlStr, Con)[/SIZE] [SIZE=2]Con.Open()[/SIZE] [SIZE=2]Cmd.ExecuteReader()[/SIZE] [SIZE=2]Con.Close()[/SIZE] [SIZE=2]MsgBox([/SIZE][SIZE=2][color=#a31515]"Data Saved Successfully"[/color][/SIZE][SIZE=2])[/SIZE]يتبع .... التعامل مع قواعد البيانات Sql Server 2005 خطوة بخطوة - Mr. DotNet - 28-09-12 المرحلة الرابعة
______ الاستعلامات _________ كما ذكرنا ان قاعدة البيانات تستخدم لحفظ المعلومات بداخلها لاسترجاعها وقت الحاجة وبما انا خزنا البيانات فعلينا الان استرجاعها لطباعتها او مراجعتها او التعديل عليها او حتى حذفها في البداية يجب علينا تعريف متغير هام لتحميل البيانات من قاعدة البيانات اليه لاظهارها في البرنامج وهو من نوع ( SqlDataReader ) كما يلي كود : [SIZE=2][color=#0000ff]Dim [/color][/SIZE][SIZE=2]DR [/SIZE][SIZE=2][color=#0000ff]As[/color][/SIZE][SIZE=2] SqlDataReader[/SIZE]شرح الكود السابق
قمنا بتعريف متغير باسم ( DR ) من نوع ( SqlDataReader ) بما انا عرفنا في الدرس السابق متغير ( SqlStr ) في الكلاس فلا يجب تعريفه مرة اخرة وسنستحدمه في نفس الاستخدام وهو اسناد امر ال ( SQL ) اليه الان اذا اردنا استرجاع عدة عناصر من قاعدة البيانات وليست جميعها نقوم بكتابة اسماء الحقول المطلوبة اما اذا اردنا جميع الحقول فيكفي ان نستدعيها جميعا برمز ( * ) فالتفرض انا اردنا استرجاع الحقول التالية من قاعدة البيانات 1- UserId 2-Username فقط نكتب امر الاستعلام وهو على النمط التالي كود : select field1,field2 from Table1 Where(Table1.Field1=Value)وعليه نطبق
كما ذكرنا نريد حقلين فتكون جملة الاستعام كالتالي رمز برمجي:
كود : [SIZE=2]SqlStr = [/SIZE][SIZE=2][color=#a31515]"SELECT UserId,Username from VB WHERE (VB.UserID='"[/color][/SIZE][SIZE=2] & TxtSearch.Text.Trim & [/SIZE][SIZE=2][color=#a31515]"')"[/color][/SIZE]شرح الكود السابق
Select= هي جملة الاستعلام UserId,Username= هما الحقلان المطلوبان للاستعلام عنهم from= للتحديد VB= اسم الجدول Where=لاسترجاع قيم محددة حسب شروط (VB.UserID='" & TxtSearch.Text.Trim & "')"= الشرط .... حيث طلبنا الحقلين شرط ان يساوي الـ ( UserId ) ما هو موجود داخل الـ ( TextBox ) بعد ان كتبنا جملة الاستعلام بقي الان علينا تنفيذها بما انا عرفنا الاتصال سابقا وعرفنا جملة الامر التي ستقوم بتنفيذ جملة الاستعلام و هي ( Cmd ) سنقوم اولا بفت الاتصال مع قاعدة البيانات كالتالي كود : [SIZE=2]Con.Open()[/SIZE]الان تحميل جملة الاستعلام و الاتصال داخل امر التنفيذ
كالتالي كود : [SIZE=2]Cmd = [/SIZE][SIZE=2][color=#0000ff]New[/color][/SIZE][SIZE=2] SqlCommand(SqlStr, Con)[/SIZE]شرح الكود السابقة
قمنا بطلب ( Cmd ) امر جديد لتنفيذ استعلام جديد و هو موجود داخل ( SqlStr ) و سيتم تنفيذه داخل الاتصال الموجود بـ ( Con ) كنا سابقا بالتخزين نكت الكود التالي لتنفيذ العملية كود : [SIZE=2]Cmd.ExecuteReader()[/SIZE]لكنا الان نريد سترجاع قيم
و بما انا عرفنا DataReader وهي ذاكرة لقرائة المعلومات نقوم باسناد القيم اليها بالكود التالي بدل القديم كود : [SIZE=2]DR = Cmd.ExecuteReader[/SIZE]اصبح الان لدينا معلومات داخل ال( DR )
اولا نقوم بالتأكد من انها قرأت بيانات .. بمعنا اخر ( هل القيم المطلوبة موجودة ؟ ) اذا كانت القيم موجودة سنقرها عن طريق جملة While وتخزينها في امكانها حسب ما نريد .. اما في TextBox او في متغيرات نكتب الكود التالي رمز برمجي:
كود : [SIZE=2][color=#0000ff]If [/color][/SIZE][SIZE=2]DR.HasRows [/SIZE][SIZE=2][COLOR=#0000ff]Thenشرح الكود السابق
If DR.HasRows Then = اذا كان هناك بيانات داخل الـ ( DR ) اذا كان هانك بيانات ينتقل الى جملة While لقراءة البيانات [SIZE=2]While DR.Read = طالما يتم قرأئة بيانات من الـ DR [/SIZE] [SIZE=2]TextBox5.Text = DR([SIZE=2]"UserID")[/SIZE][/SIZE] [SIZE=2][SIZE=2]TextBox6.Text = DR("Username")[/SIZE] خزن القيم المطلوبة في TextBox [SIZE=2]EndWhile= الانتهاء من القرائة والخروج من جملة الدوران في حالة لم يكن هناك بيانات داخل الـ DR سيقوم بائظهار الرسالة في ( Else ) وهي MsgBox([SIZE=2]"Not Found")[/SIZE] الان قمنا بالقراءة وانتهينا سنقوم الان بقطع الاتصال هناك عيوب لهذه الطريقة وهي انها تاخذ اخر قيمة من القيم التي تراها والحل هو التخزين في مصفوفة او ComboBox وكما ذكرنا لو اردنا استرجاع جميع الحقول في الجدول تصبح جملة الاستعلام على الشكل التالي [/SIZE][/SIZE] كود : [SIZE=2]SqlStr = [/SIZE][SIZE=2][color=#a31515]"SELECT * from VB WHERE (VB.UserID='"[/color][/SIZE][SIZE=2] & TxtSearch.Text.Trim & [/SIZE][SIZE=2][color=#a31515]"')"[/color][/SIZE]الكود الكامل للعملية
كود : [SIZE=2][color=#0000ff]Dim [/color][/SIZE][SIZE=2]DR [/SIZE][SIZE=2][color=#0000ff]As[/color][/SIZE][SIZE=2] SqlDataReader[/SIZE]يتبع...
التعامل مع قواعد البيانات Sql Server 2005 خطوة بخطوة - Mr. DotNet - 28-09-12 المرحلة الخامسة
الحذف _____ بعدما قمنا بتخزين البيانات في قاعدة البيانات و استطعنا استرجاعها يمكن لنا الان ان نقوم بحذف هذه البيانات اذا لم يعد هناك حاجة لها جملة الحذف سهلة جداً و هي اسهل من غيرها القاعدة الرئيسية لها هي كود : Delete From TableName Where(TableName.Field="Value")و Field هو اسم الحقل الذي سنبحث عن القيمة التي نريد حذفها نقوم الان كالعادة بتعريف متغيران اساسيان هما SqlStr و Cmd كما شرحنا سابقا الـ SqlStr هو متغير نصي لحمل جملة الـ SQL التي نريد تنفيذها . ان كانت اضافة او حذف او بحث او تعديل اما بالنسبة لـ Cmd فهي لتنفيذ أمر الـ SQL الذي نريد تنفيذه في قاعدة البيانات نقوم الان بتعريف المتغيرات أولاً : SqlStr من نوع String كود : [SIZE=2][color=#0000ff][SIZE=2][COLOR=#0000ff]Dim [/color][/SIZE][/COLOR][/SIZE][SIZE=2]SqlStr [/SIZE][SIZE=2][color=#0000ff][SIZE=2][COLOR=#0000ff]As [/color][/SIZE][/COLOR][/SIZE][SIZE=2][color=#0000ff][SIZE=2][COLOR=#0000ff]String[/color][/SIZE][/COLOR][/SIZE]كود : [SIZE=2][color=#0000ff][SIZE=2][COLOR=#0000ff]Dim [/color][/SIZE][/COLOR][/SIZE][SIZE=2]Cmd [/SIZE][SIZE=2][color=#0000ff][SIZE=2][COLOR=#0000ff]As[/color][/SIZE][/COLOR][/SIZE][SIZE=2] SqlCommand[/SIZE]طبعاً ما زلنا على قاعدة البيانات vb4arab و اسم الجدول هو VB وسيكون امر الحذف على الشكل التالي كود : [SIZE=2]SqlStr = [/SIZE][SIZE=2][color=#a31515][SIZE=2][COLOR=#a31515]"Delete From VB Where(VB.UserID='"[/color][/SIZE][/COLOR][/SIZE][SIZE=2] & TextBox1.Text & [/SIZE][SIZE=2][color=#a31515][SIZE=2][COLOR=#a31515]"')"[/color][/SIZE][/COLOR][/SIZE]والان سنقوم بتحميل الامر الى الـ Cmd نقوم بطلب Command جديد و نحمل امر الـ SQL بداخله و تنفيذه بالاتصال Con كود : [SIZE=2]Cmd = [/SIZE][SIZE=2][color=#0000ff][SIZE=2][COLOR=#0000ff]New[/color][/SIZE][/COLOR][/SIZE][SIZE=2] SqlCommand(SqlStr, Con)[/SIZE]قمنا بتحميل امر الـ SQL الخاص بعملية الحذف و المخزن داخل SqlStr داخل الـ Cmd و تنفيذها داخل الاتصال Con الان اصبح كل شيء جاهز للتنفيذ لكن يجب علينا فتح الاتصال مع قاعدة البيانات كود : [SIZE=2]Con.Open()[/SIZE]بقي علينا الان تنفيذ العملية عن طريق الامر التالي كود : [SIZE=2]Cmd.ExecuteNonQuery()[/SIZE]لقد قمنا الان بحذف القيمة يجب علينا الان اقفال الاتصال مع قاعدة البيانات كود : [SIZE=2]Con.Close()[/SIZE]كود : [SIZE=2]MsgBox([/SIZE][SIZE=2][color=#a31515][SIZE=2][COLOR=#a31515]"User Deleted"[/color][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE]كود : [SIZE=2][color=#0000ff][SIZE=2][COLOR=#0000ff]Dim[/color][/SIZE][/COLOR][/SIZE][SIZE=2] SqlStr [/SIZE][SIZE=2][color=#0000ff][SIZE=2][COLOR=#0000ff]As[/color][/SIZE][/COLOR][/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] Stringأرجو أن يكون كل شيء واضح التعامل مع قواعد البيانات Sql Server 2005 خطوة بخطوة - elta - 09-10-12 لو يمكن ضع مرفق بالسورس التعامل مع قواعد البيانات Sql Server 2005 خطوة بخطوة - honeesh - 11-10-12 جزاكم الله خيرا التعامل مع قواعد البيانات Sql Server 2005 خطوة بخطوة - مبرمج أوتار - 25-02-13 بارك الله فيك التعامل مع قواعد البيانات Sql Server 2005 خطوة بخطوة - amrsyd - 15-03-13 كيف يمكن عرض البيانات فى داتاجريد التعامل مع قواعد البيانات Sql Server 2005 خطوة بخطوة - ali.alfoly - 04-04-13 جزاك الله خير بدور على درس مثله منذ ايام التعامل مع قواعد البيانات Sql Server 2005 خطوة بخطوة - adomom - 06-06-13 الفنان فنان التعامل مع قواعد البيانات Sql Server 2005 خطوة بخطوة - Omar Mekkawy - 15-07-13 الله يعطيك العافية ![]() لكن انا لدي سؤال : عندما أعطي البرنامج للعميل كيف ستعمل قاعدة البيانات ؟ أي هل يجب ان أسطب السكيوال سيرفر " النسخة الأصلية " ام اضع له الـ Runtime ? |