1. قم بإنشاء إجراء مخزن. قم بإنشاء
إجراء مخزن جديد لجدول الموظفين في قاعدة بيانات Northwind في MSSQL (الوظيفة عبارة عن استعلام غامض يعتمد على اسم العائلة):
إنشاء الإجراء Employess_Sel @lastname nvarchar (20)
مثل
حدد اسم العائلة من الموظفين حيث اسم العائلة مثل '%' + @lastname + '%'
GO
2. تصميم النموذج
1. قم بإنشاء تطبيق ويب ASP.NET جديد، وقم بتسميته WebSql، وحدد مسار الحفظ وانقر فوق OK.
2. أضف تسمية ومربع نص وزر زر إلى النموذج، ثم أضف عنصر تحكم DataGrid، وانقر بزر الماوس الأيمن فوق عنصر تحكم DataGrid وحدد Property Generator، ثم حدد العمود في النافذة التي تفتح، وقم بإزالة علامة الاختيار قبل ذلك تلقائيًا إنشاء العمود، ثم قم بإضافة عمود منضم إلى العمود المحدد، وقم بتعيين الرأس إلى LastName، وقم بتعيين حقل البيانات إلى LastName. انقر فوق موافق.
3. قم بإنشاء طبقة بيانات وسيطة.
انقر بزر الماوس الأيمن فوق الحل، وحدد New-Project-Class Library، وقم بتسميته ClaSQL، وحدد مسار الحفظ وانقر فوق OK. قم بإضافة التعليمة البرمجية التالية إلى مكتبة الفئة المفتوحة:
Imports System.Data.SqlClient
الطبقة العامة Class1
Dim scon As New SqlConnection("server=localhost;database=northwind;uid=sa;pwd=123")
'إنشاء عملية استعلام وظيفة عامة Emp_Sel(ByVal اسم العائلة كسلسلة) كمجموعة بيانات
سكون.فتح ()
إغلاق ()
'حدد كائن الأمر واستخدم الإجراء المخزن Dimscom As New SqlCommand
scom.CommandType = CommandType.StoredProcedure
scom.CommandText = "Employess_Sel"
scom.Connection = scon
'حدد محول بيانات وقم بتعيين المعلمة Dim sda As New SqlDataAdapter(scom)
sda.SelectCommand.Parameters.Add("@lastname"، SqlDbType.NVarChar).Value = اسم العائلة
"حدد كائن مجموعة بيانات وقم بملء مجموعة البيانات Dim ds As New DataSet."
يحاول
سدا.ملء (دس)
قبض على السابق كاستثناء
إنهاء المحاولة
العودة س
وظيفة النهاية
نهاية الفئة
4. قم بالإشارة إلى طبقة البيانات الوسيطة (مكتبة الفئة).
انقر بزر الماوس الأيمن على مشروع ClaSql، وحدد إنشاء، ثم انقر بزر الماوس الأيمن على "المرجع" لمشروع WebSql، وحدد إضافة مرجع، ثم حدد المشروع المراد إضافته. مشروع ClaSql إلى مربع المكونات المحدد ثم انقر فوق موافق.
5. تصميم كود نموذج WebForm1.aspx
افتح ملف WebForm1.aspx ضمن مشروع WebSql، وانقر نقرًا مزدوجًا فوق زر Button لفتح نافذة التعليمات البرمجية، ويكون الكود الكامل كما يلي:
Public Class WebForm1
يرث System.Web.UI.Page
'تم حذف رمز النموذج'زر البحث، EventPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) يعالج Button1.Click
'حدد متغيرًا لتخزين مدخلات مربع النص وتحويله لأغراض أمنية Dim lastname As String = TextBox1.Text
اسم العائلة = اسم العائلة.استبدال("&"، "&")
اسم العائلة = اسم العائلة.استبدال("<"، "")
اسم العائلة = اسم العائلة.استبدال(">"، "")
اسم العائلة = اسم العائلة.استبدال("'"، "'")
اسم العائلة = اسم العائلة.استبدال ("chr(13)"، "<br>")
lastname = lastname.Replace("chr(10)", "<br>")
'إنشاء مثيل فئة جديد واستدعاء عملية الاستعلام لربط البيانات Dim myCla كـ ClaSql.Class1 جديد
DataGrid1.DataSource = myCla.Emp_Sel(lastname )
DataGrid1.DataBind()
نهاية الفرعية
نهاية الفئة
السادسة: ملاحظات
: لأسباب أمنية، يجب اتخاذ الإجراءات التالية عند تشغيل قاعدة البيانات:
1. استخدم الإجراءات المخزنة
2. لا تستخدم حسابات SA
3. استخدم كلمات المرور للحسابات المعقدة
4. لإدراج البيانات، حاول استخدام مختلفة حسابات الحذف والعمليات الأخرى، وتعيين أذونات الإدراج أو الحذف المقابلة لكل حساب مختلف فقط
5. يجب تغليف عمليات قاعدة البيانات في الطبقة الوسطى (مكتبة الفئة) قدر الإمكان، بحيث يمكن تنفيذ التعليمات البرمجية أيضًا. يسهل التعديلات المستقبلية.