محمد منصور فرايتر
01-15-2007, 08:54 PM
http://www.abdulmalik.althari.com/myupload/vb2005/db/main.gif
بسم الله الرحمن الرحيم
الصلاة والسلام على أشرف الأنبياء والمرسلين نبينا محمد وعلى آله وصحبه أجمعين ( أما بعد ) :
طبعاً الدرس باين من عنوانه http://www.arabteam2000-forum.com/style_emoticons/default/regular_smile.gif ونبدأ مباشرة :
أولاً نقوم بفتح برنامج فيجوال ستيديو 2005
http://www.abdulmalik.althari.com/myupload/vb2005/db/1.gif
ثم نقوم بإنشاء Web Site جديد
http://www.abdulmalik.althari.com/myupload/vb2005/db/2.gif
http://www.abdulmalik.althari.com/myupload/vb2005/db/3.gif
نبدأ أولاً في إنشاء قواعد البيانات بالضغط على هذه الأيقونة
Add new item بما معناه إضافة عنصر جديد
ثم نختار SQL Database
http://www.abdulmalik.althari.com/myupload/vb2005/db/4.gif
بتضهر لك رسالة ( هل تريد إنشاء قاعدة البيانات داخل مجلد App_Data ؟ ) نضغط نعم
http://www.abdulmalik.althari.com/myupload/vb2005/db/6.gif
سنجد الداتابيس في نافذة Server Explorer
نضغط بالفارة باليمين على المجلد Tables ثم نختار Add New Table
http://www.abdulmalik.althari.com/myupload/vb2005/db/7.gif
ثم نقوم بكتابة أسامي الأعمدة ونوع بياناتها
http://www.abdulmalik.althari.com/myupload/vb2005/db/8.gif
الأن العمود userID مفتاح رئيسي ( Primery Key ) نختار العمود userID ونضغط على أيقونة المفتاح كما في الصورة التالية
http://www.abdulmalik.althari.com/myupload/vb2005/db/9.gif
الأن سيكون لا يقبل بيانات متكررة لأنه مفتاح رئيسي فبياناته يجب أن لا تتكرر
والأن نريد أن نجعل العمود userID ( ترقيم تلقائي ) بحيث عن كل إضافة صف جديد يتم إضافة رقم جديد لهذا العمود تلقائياً
في الخصائص أسفل الأعمدة اعمل كما في الصورة التالية
http://www.abdulmalik.althari.com/myupload/vb2005/db/10.gif
يتبع ...
محمد منصور فرايتر
01-15-2007, 08:56 PM
وبعد الإنتهاء نضغط على حفظ ( كما في الصورة التالية )
http://www.abdulmalik.althari.com/myupload/vb2005/db/11.gif
ونكتب أسم الجدول users
http://www.abdulmalik.althari.com/myupload/vb2005/db/12.gif
الأن نريد تعبئة الجدول بيوزر وباسورد لنقوم بتجربتها لاحقاً
في نافذة Server Explorer اضغط بالزر الأيمن من الفارة على الجدول users داخل المجلد Tables ثم أختر Show Table Data
http://www.abdulmalik.althari.com/myupload/vb2005/db/13.gif
وتكتب هذه البيانات داخل الجدول ثم تغلق الجدول
http://www.abdulmalik.althari.com/myupload/vb2005/db/14.gif
الأن تذهب إلى الصفحة Default.aspx
وتضيف هذه الأدوات من نافذة الأدوات
http://www.abdulmalik.althari.com/myupload/vb2005/db/15.gif
الخطوط التي باللون الرصاصي الفاتح والصغيرة هي أسامي الأدوات وهي الـ ID ويتم تعديل إسمها عن طريق الـ Properties كما في الصورة
http://www.abdulmalik.althari.com/myupload/vb2005/db/16.gif
الأن نبدأ في البرمجة
من نافذة الـ Solution Explorer نفتح الملف web.config
http://www.abdulmalik.althari.com/myupload/vb2005/db/17.gif
ضلل الكود
<connectionStrings/>
وألصق بداله هذا الكود
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
وهو كود خاص بمعلومات عن قاعدة البيانات
الأن إذهبة إلى الصفحة Default.aspx
إضغط مرتين على الزر ( Sign In )
وفي أول سطر أضف
Imports System.Data.SqlClient
Imports System.data
وبعد الكود
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
أضف هذا الكود
'هنا نقوم بتعريف نص يحتوي على معلومات قاعدة البيانات التي كتبناها في صفحة web.config
Dim connString As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
'نقوم بالإتصال بالداتا بيس
Using myConnection As New SqlConnection(connString)
'نقوم بإنشاء الـ SQL query في متغير نصي
Const sql As String = "SELECT * FROM users"
'نقوم بتنفيذ أمر الـ query
Dim myCommand As New SqlCommand(sql, myConnection)
'هنا نقوم بإنشاء DataSet
Dim myDataSet As New DataSet
'ثم نقوم بإنشاء DataAdapter لكي يتواصل بين الـ DataSet وقاعدة البيانات
Dim myAdapter As New SqlDataAdapter(myCommand)
myAdapter.Fill(myDataSet)
'هنا نقوم بإضافة دالة من صنعنا وتحتوي على الـ DataSet و اليوزر والباسورد
CheckRows(myDataSet, userName.Text, userPass.Text)
'أغلق الإتصال
myConnection.Close()
End Using
الأن نريد صنع الدالة
CheckRows(myDataSet, userName.Text, userPass.Text)
وما نريد فعله بالضبط هو عندما يقوم المستخدم الضغط على Sign In فإنه يبحث عن معلومات اليوزر والباسورد ويرى إن كانت موجوده أم لا
وهذه هي الدالة قم بكتابتها بعد End Sub الخاص بالـ Protected Sub Button1_Click
Private Sub CheckRows(ByVal dataSet As DataSet, ByVal userName As String, ByVal userPass As String)
Dim table As DataTable
Dim row As DataRow
'هنا نقوم بإنشاء فور لوب بحيث يتأكد من كل حقل في الصف من الجدول
For Each table In dataSet.Tables
For Each row In table.Rows
If row(1) = userName And row(2) = userPass Then
right.Visible = True
End If
Next row
If Not right.Visible = True Then
wrong.Visible = True
End If
Next table
End Sub
row()
هنا بإمكانك كتابة رقم العمود مثل ما كتبنا إحنا
أو تكتب اسم العمود مثل هكذا
row("userName")
الأن كل شي جاهز ما عدا حاجه وحده
إحنا عملنا في الدالة CheckRows إذا وجد في قاعدة البيانات اليوزر والباسورد صحيحه أضهر right.Visible = True وإذا لم تجدها أضهر wrong.Visible = True
بحيث يجب أن تكون الـ Label للنتيجه مخفيه منذ البدايه ولا تضهر إلا لما يضغط المستخدم على Sign In
إذهب إلى Default.aspx
وأضغط مرتين في أي مكان في الصفحة
راح يرجعك للكود ولكن بينشأ لك دالة خاصة عند تحميل الصفحه تتنفذ وهي هذه
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
وتكتب فيها بكل بساطه
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
right.Visible = False
wrong.Visible = False
End Sub
ثم تضغط الأن زر تشغيل
http://www.abdulmalik.althari.com/myupload/vb2005/db/18.gif
قد تضهر لك أول مره هذه الرساله تفيد بأن الـ Debugging معطل هل تريد تفعيله من ملف web.config إضغط نعم
http://www.abdulmalik.althari.com/myupload/vb2005/db/19.gif
والأن نختبر عملنا
بكتابة اليوزر
muhmmad
والباسورد
aaa123
ثم تضغط Sign In
والنتيجة ؟؟
- Right http://www.arabteam2000-forum.com/style_emoticons/default/regular_smile.gif
http://www.abdulmalik.althari.com/myupload/vb2005/db/20.gif
محمد منصور فرايتر
01-15-2007, 08:59 PM
كود فحص الجداول جدول جدول ثم صف صف
أجل بعجبك أكثر
الكود بالإمكان فحص جدول جدول وصف صف و ((( عمود عمود ))) برضوا , يعني يشيك على كل الداتا بيس
بإضافة الكود التالي يتم البحث عن عمود عمود
داخل الفور الخاص بالصف صف أكتب
For Each column In table.Columns
Response.Write(row(column))
Next column
وطبعاً تعرف قبل column
'Dim column As DataColumn
ساهر منصور
02-03-2007, 05:43 PM
:36_3_10: :36_3_10: :36_3_10: :36_3_10: :36_3_10: :36_3_10: :36_3_10: :36_3_10:
:36_3_10: :36_3_10: :36_3_10: موضوع رائع ومميز:36_3_10: :36_3_10: :36_3_10:
:36_3_10: :36_3_10: مع تمنياتى بمزيد من التقدم والازدهار :36_3_10: :36_3_10:
:36_3_10: :36_3_10: :36_3_10: :36_3_10: :36_3_10: :36_3_10: :36_3_10: :36_3_10:
asussmart
02-22-2007, 10:29 AM
جزاكم الله خير الجزاء
تحت التجربة
محمد منصور فرايتر
02-22-2007, 11:16 PM
شكرا يا وأتمني تكونوا إستفدتم...
الف شكر على مجهودك والطريقة جاري تجربتها..... :)
اشتركت خصيصا لاعلق على هذا الموضوع
تمنياتي بدوام التقدم
تساؤل بسيط :
اذا واجهتني اي مشكله هل استطيع طرحها هنا ؟
وليد جمال محمد هريدي
03-04-2007, 12:37 PM
شكراً على هذه المعلومات المفيدة ونود المزيد من الأمثلة وتطبيقها , كما نود أيضا تنزيل كتاب شامل عن ASP.net 2005 وكيفية ربطه مع SQL Server2005
وليد جمال محمد هريدي waleed_g_m2007@yahoo.com
en_ly2007
03-16-2008, 02:18 AM
أودو أن أشكر ك على الشرح المفصل كما أتمنى المزيد من هذه الدروس فأنا في حاجة إليها
الله يفتح عليك وعلى جميع المؤمينين
اللهم وصلي وسلم على النبي الكريم وعلى أله وأصحابه أجمعين
gawishco
03-31-2008, 04:07 PM
مشكوووووووووووووووووووور على المجهود
mysara
05-01-2008, 05:53 PM
شكرا للك علىحسن تعاونك معنا