صفحة حذف الاشتراك
deletepage.aspx
من خلال صفحة التحكم وهي نفسها صفحة نجاح التسجيل او الدخول
سيكون هناك زر عند الضغط عليه ينقله لصفحة اخرى يطلب منه تاكيد حذف الحساب
واذا قام بالتأكيد يقوم بحذف الحساب نهائيا من قاعدة البيانات
نقوم بتمرير اسم المستخدم مع الرابط من صفحة التحكم الي صفحة تاكيد الحذف ويكون كود صفحة تأكيد الحذف كالتالي
كود:
Public Con1 As OleDb.OleDbConnection = New OleDb.OleDbConnection
Public ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inetpub\wwwroot\WebApplication1\mydab1.mdb;Persist Security Info=False"
Public Adapter1 As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter
Public DataSet1 As New DataSet
Dim UnameE As String
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
UnameE = Request.Item("Un")
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Response.Redirect("control.aspx?Un=" + UnameE + "")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Con1.ConnectionString = ConStr
Dim SQLStrD As String = "delete * from Users where Name Like '" + UnameE + "'"
Dim CmdD As OleDb.OleDbCommand = New OleDb.OleDbCommand(SQLStrD, Con1)
Con1.Open()
CmdD.ExecuteNonQuery()
Con1.Close()
Response.Redirect("deletsucc.aspx")
Catch ex As Exception
Label2.Text = ex.Message
If Con1.State = ConnectionState.Open Then
Con1.Close()
End If
End Try
End Sub
كما يوجد زر اخر في مموذج صفحة التحكم اسمه حذف الاشتراك مباشرة
وهذا يحتوي على كود حذف الاشتراك ولكن بالاعتماد على ادواة ال
MessageBox
بدلا من التنقل بي الصفحات لتحديث الاشتراك - فعند الضغط عليه يطلب منه تأكيد عملية الحذف من خلال
رسالة تخرج له تحتوي على نعم او لا فاذا اختار نعم يقوم بحذف الاشتراك ومن ثم اعادته الي الصفحة الاولى
messagebox لكي تستخدم الرسائل المنبثقه في صفحتك والمقصود بها هي ال
يجب عليك تضمين مكتبة جديدة لمشروع فمن القائمة
Project ---> add reference ---> .net
قم باضافة المكتبة
system.windows.forms.dll
ولكي تستخدمها قم باستيرادها في اعلى الصفحة بهذه الطريقة
imports system.windows.forms
وهكذا يمكنك استخدام الرسائل المنبثقه في اي مكان تريده من الصفحة وتخزين القيمة العائده من الرسالة في متغير ومن ثم استخدام الناتج في جملة شرطيه
ملاحظة في بعض الاحياة قد تختار نوع معين من الرسائل مثلا نعم و لا او موافق وغير موافق وغيرها من الانواع
وقد لا تكون على علم بنوع القيمة التي يتم اعادتها لو اختار المستخدم نعم او اختار لا ولكي تعرف
وهو قادر على استيعاب كل انواع المتغيرات في داخله بهذا الشكل object قم بتعريف متغير من نوع
Dim TE as Object = Messagebox.Show ( ....... )
ومن ثم ثم بعرض المتغير في اداة نص او صندوق وجرب تشغيل البرنامج واختار ماتريد وشاهد ما سوف يعود في الصندوق ويكون هو نفسه القيمة المعاده التي ترجع بها هذا النوع من الرسائل
مثلا في مثالنا سوف نستخدم رسالة من النوع نعم و لا وهي ترجع بقيمة رقمية
فاذا اختار نعم ترجع برقم 6 ولو اختار لا ترجع برقم 7
فيكون كود الرساله المنبثقه هكذا
كود:
Dim MR As Integer
MR = MessageBox.Show("هل انت متأكد من انك تردي ان تقوم بحذف الحساب؟؟", "رسالة تأكيد", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2, MessageBoxOptions.ServiceNotification)
الكود الكامل يكون هكذا
كود:
Imports System.Windows.Forms 'يتم استيرادها في اعلى الصفحة بعد اضافة المكتبة
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Try
Dim MR As Integer
MR = MessageBox.Show("هل انت متأكد من انك تردي ان تقوم بحذف الحساب؟؟", "رسالة تأكيد", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2, MessageBoxOptions.ServiceNotification)
If MR = 7 Then
MessageBox.Show("لقد تم الغاء العملية", "الغاء", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.ServiceNotification)
Exit Sub
End If
Dim SqlStr = "delete from Users where Name Like '" + UnameE + "'"
Dim Cmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(SqlStr, Con1)
Con1.Open()
Cmd.ExecuteNonQuery()
Con1.Close()
Response.Redirect("deletsucc.aspx")
Catch ex As Exception
Label1.Text = ex.Message
If Con1.State = ConnectionState.Open Then
Con1.Close()
End If
End Try
End Sub
ملاحظة مهمه ::::: ::::::::::::
الرساله المنبثقه المستخدمه هنا بها عيب خطير جداً وهو اننا قمنا بأضافة مكتبة جديدة للمشروع فلن تعمل الرساله من دونها
ويجب ان تكون موجوده مسبقاً على جهاز الزبون او الجهاز الذي سيقوم بتصفح الموقع ولو حاولت ان تقوم بتجربتها من جهاز اخر فسوف يتم تطبيقها على جهاز الخادم او الجهاز الرئيسي الموجود عليه الموقع اي ان الرساله لن تخرج لك انت ولكن ستخرج على الجهاز الرئيسي الذي عليه الموقع وسيتم تنفيذها هنا بانتظار الموافقه من عدمها من قبل مستخدم الجهاز الرئيسي
وهذا طبعا امر غير مقبول وغير عملي
الطريقة البديلة هي استخدام الجافاسكربت في الرسائل المنبثقه حيث انها مدعوه من قبل معضم المتصفحات بشكل افتراضي
صفحة تحديث البيانات
edit.aspx
عند الضغط على زر تحديث البيانات في صفحة لوحة التحكم ينقله الي صفحة اخرى لتحديث او تغيير بياناته
نقوم بتمرير اسم المستخدم عن طريق الرابط من صفحة التحكم الي صفحة تحديث البيانات يستطيع المستخدم في صفحة التحديث ان يقوم بتغيير كلمة مرورة وباقي بياناته ما عدا اسم المستخدم طبعاً , ونموذج الصفحة مرفق مع المثال المرفق مع هذا الشرح ويكون كود صفحة التحديث هكذا
كود:
Public Con1 As OleDb.OleDbConnection = New OleDb.OleDbConnection
Public ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inetpub\wwwroot\WebApplication1\mydab1.mdb;Persist Security Info=False"
Public Adapter1 As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter
Public DataSet1 As New DataSet
Dim UnameE As String
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
Try
UnameE = Request.Item("Un")
Con1.ConnectionString = ConStr
Dim SQLStr As String = "select * from Users where Name Like '" + UnameE + "'"
Con1.Open()
Dim Cmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(SQLStr, Con1)
Adapter1.SelectCommand = Cmd
Adapter1.Fill(DataSet1)
Con1.Close()
TextBox4.Text = DataSet1.Tables(0).Rows(0)(2)
TextBox5.Text = DataSet1.Tables(0).Rows(0)(0)
TextBox6.Text = DataSet1.Tables(0).Rows(0)(1)
TextBox7.Text = DataSet1.Tables(0).Rows(0)(4)
TextBox8.Text = DataSet1.Tables(0).Rows(0)(5)
Catch ex As Exception
Label1.Text = ex.Message
If Con1.State = ConnectionState.Open Then
Con1.Close()
End If
End Try
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
If TextBox1.Text <> DataSet1.Tables(0).Rows(0)(3) Then
Label1.Text = "الرجاء ادخال كلمة المرور الصحيحة ! خطأ في كلمة المرور"
Exit Sub
End If
Dim SQLStrU As String
If TextBox2.Text <> "" Or TextBox3.Text <> "" Then
If TextBox2.Text = TextBox3.Text Then
SQLStrU = "update Users set FullName='" + TextBox5.Text + "',Email='" + TextBox6.Text + "',Pass='" + TextBox2.Text + "',Country='" + TextBox7.Text + "',Phone='" + TextBox8.Text + "' where Name Like '" + TextBox4.Text + "'"
Else
Label1.Text = "كلمة المرور الجديدة غير متطابقة الرجاء كتابة نفس الكلمة "
Exit Sub
End If
Else
SQLStrU = "update Users set FullName='" + TextBox5.Text + "',Email='" + TextBox6.Text + "',Country='" + TextBox7.Text + "',Phone='" + TextBox8.Text + "' where Name Like '" + TextBox4.Text + "'"
End If
Dim CmdU As OleDb.OleDbCommand = New OleDb.OleDbCommand(SQLStrU, Con1)
Con1.Open()
CmdU.ExecuteNonQuery()
Con1.Close()
Label1.Text = "تم تحديث الحقول بنجااااااااح"
Catch ex As Exception
Label1.Text = ex.Message
If Con1.State = ConnectionState.Open Then
Con1.Close()
End If
End Try
End Sub
Private Sub LinkButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkButton1.Click
Response.Redirect("control.aspx?Un=" + UnameE + "")
End Sub