بسم الله الرحمن الرحيم
من الأخطاء التي يخطيئ فيها كثير من المبرمجين هي عدم التدقيق في سرعة البرنامج ومن أهم الحلول هو اللإجراء المخزن (Stored Procedure):
1.عند تصميم برنامج يتطلب فيه مثلا الاستعلام عن user_name في قاعدة بيانات SQL فأنك تحتاج إلى سرعة الستعلام والتحقق من وجود هذا المستخدم وإظهار النتيجة فلا بد من وجود Stored Procedure
في هذه القاعدة
أولا ننشئ Stored Procedure من قاعدة البيانات التي تريد عليها الاستعلام بالنقر بالزر اليمن على قاعدة البيانات ومن ثم النقر على Stored Procedures ثم انشاء جديد تظهر لنا نافذة
CREATE PROCEDURE [OWNER].[PROCEDURE NAME] AS
[OWNER] هي اسم الإجراء المخزن
ندخل اي اسم مثال mm
[PROCEDURE NAME] هو المتغير ولابد من إضافة @ للتسمية
مثال نخلh@ ثم نوع البيانات المدخلة ثم نضيف جملة الاستعلام
وهذا مثال كامل:
<<<<<<<<<<<<<<<<<<
CREATE PROCEDURE mm @h varchar(30)
AS
select [user_name] from users = @h
GO
علما أن هناك في قاعدة البيانات جدول باسم users وبه
عامود باسم
user_name
>>>>>>>>>>>>>>>>>>
وبعد نشاء إجراء مخزن نعمل له عملية تجربة بالنقر على زر
Check Syntax
وبعدها نكون عرفنا اسم الإجراء mm
والمتغير الذي أنشأناه @h
...........................................
ثانيا بعد الذهاب الvb.net
نكون أنشأنا form خاص بالمستخدمين يتكون من textbox ,button
ثم في الحدث عند النقر على button نكتب الكود التالي:
Dim con As New SqlClient.SqlConnection(constr)
Dim dr as SqlClient.SqlDataReader
Dim constr as string="مصدر قاعدة البيانات "
Dim adb As New SqlClient.SqlDataAdapter("mm", constr)
try
adb.SelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@h", System.Data.SqlDbType.VarChar, 30))
adb.SelectCommand.Connection.Open()
adb.SelectCommand.CommandType = CommandType.StoredProcedure
adb.SelectCommand.Parameters("@h").Value = TextBox1.Text
dr = adb.SelectCommand.ExecuteReader
If dr.Read = False Then
MsgBox("Invalid User Name!!!", MsgBoxStyle.Exclamation)
adb.SelectCommand.Connection.Close()
Exit Sub
Else
Dim X AS New FORM
X.SHOW
End If
Catch ex As SqlClient.SqlException
adb.SelectCommand.Connection.Close()
MsgBox(EX.MASSEGE, MsgBoxStyle.Critical)
End Try
وهذا الكود يقوم بفتح اتصال على قاعدة بيانات وكذلك التأكد من وجود المستخدم بسرعة فإذا لم يكن موجود تظهر رسالة خطأ وإذا كان موجود يقوم فتح FORM جديد
وأتمنى أن لا أكون قد أطلت عليكم
وصلى الله وسلم على نبينا محمد