بسم الله الرحمن الرحيم
الصلاة والسلام على أشرف الأنبياء والمرسلين نبينا محمد وعلى آله وصحبه أجمعين ( أما بعد ) :
طبعاً الدرس باين من عنوانه
ونبدأ مباشرة :
أولاً نقوم بفتح برنامج فيجوال ستيديو 2005

ثم نقوم بإنشاء Web Site جديد

نبدأ أولاً في إنشاء قواعد البيانات بالضغط على هذه الأيقونة

Add new item بما معناه إضافة عنصر جديد
ثم نختار SQL Database

بتضهر لك رسالة ( هل تريد إنشاء قاعدة البيانات داخل مجلد App_Data ؟ ) نضغط نعم

سنجد الداتابيس في نافذة Server Explorer
نضغط بالفارة باليمين على المجلد Tables ثم نختار Add New Table

ثم نقوم بكتابة أسامي الأعمدة ونوع بياناتها

الأن العمود userID مفتاح رئيسي ( Primery Key ) نختار العمود userID ونضغط على أيقونة المفتاح كما في الصورة التالية

الأن سيكون لا يقبل بيانات متكررة لأنه مفتاح رئيسي فبياناته يجب أن لا تتكرر
والأن نريد أن نجعل العمود userID ( ترقيم تلقائي ) بحيث عن كل إضافة صف جديد يتم إضافة رقم جديد لهذا العمود تلقائياً
في الخصائص أسفل الأعمدة اعمل كما في الصورة التالية

وبعد الإنتهاء نضغط على حفظ ( كما في الصورة التالية )

ونكتب أسم الجدول users

الأن نريد تعبئة الجدول بيوزر وباسورد لنقوم بتجربتها لاحقاً
في نافذة Server Explorer اضغط بالزر الأيمن من الفارة على الجدول users داخل المجلد Tables ثم أختر Show Table Data

وتكتب هذه البيانات داخل الجدول ثم تغلق الجدول

الأن تذهب إلى الصفحة Default.aspx
وتضيف هذه الأدوات من نافذة الأدوات

الخطوط التي باللون الرصاصي الفاتح والصغيرة هي أسامي الأدوات وهي الـ ID ويتم تعديل إسمها عن طريق الـ Properties كما في الصورة

الأن نبدأ في البرمجة
من نافذة الـ Solution Explorer نفتح الملف web.config

ضلل الكود
كود:
<connectionStrings/>
وألصق بداله هذا الكود
كود:
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\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
ثم تضغط الأن زر تشغيل

قد تضهر لك أول مره هذه الرساله تفيد بأن الـ Debugging معطل هل تريد تفعيله من ملف web.config إضغط نعم

والأن نختبر عملنا
بكتابة اليوزر
muhmmad
والباسورد
aaa123
ثم تضغط Sign In
والنتيجة ؟؟
- Right 

( أتمنى أني أفدتكم ) ولأي سؤال أو استفسار أنا حاضر.
تقبلوا أطيب تحيه
والسلام عليكم ورحمة الله وبركاته