29-07-15, 06:26 PM
سلام
هذا مثال
اول شيء نعمل storedprocedure بهذه الطريقه تقريباً والافضل تختر له اسم مناسب بدل الاسم الافتراضي
ونلاحظ ان الارقام 99999 و55555 انا اخترتها بشكل عشوائي بس اهم شي ما يكون رقم صغير ولا كبير جدا عشان هذه الارقام تفيدني في نوع الرساله اللي راح اظهرها للمستخدم من حيث اذا كان الاسم موجود من قبل ولا البيانات غير صحيحه
الحين نجي لطريقت التعامل مع storedproceure عن طريق vb.net وهذا ان شاء الله انه سهل ما يحتاج شرح
يدوب الاضافه الغريبه اللي ممكن تشوفها اضافت parameter خاص لقراءه الرقم اللي راح يرجع بالنتيجه
موفقين
هذا مثال
اول شيء نعمل storedprocedure بهذه الطريقه تقريباً والافضل تختر له اسم مناسب بدل الاسم الافتراضي
ونلاحظ ان الارقام 99999 و55555 انا اخترتها بشكل عشوائي بس اهم شي ما يكون رقم صغير ولا كبير جدا عشان هذه الارقام تفيدني في نوع الرساله اللي راح اظهرها للمستخدم من حيث اذا كان الاسم موجود من قبل ولا البيانات غير صحيحه
كود :
CREATE PROCEDURE dbo.StoredProcedure1
@name varchar(50) = '' ,
@phone int = 0
AS
/* التأكد من إدخال بيانات */
IF RTRIM(@name) = ''
BEGIN
RETURN 99999
END
/* التأكد من موجود سجل مسبق */
IF EXISTS (SELECT [name] FROM [table] WHERE [name]=@name )
BEGIN
RETURN 55555
END
BEGIN TRY
/* إدخال البيانات */
INSERT INTO [table] ([name], [phone]) VALUES (@name, @phone)
END TRY
BEGIN CATCH
RETURN -1
END CATCH
RETURN 0الحين نجي لطريقت التعامل مع storedproceure عن طريق vb.net وهذا ان شاء الله انه سهل ما يحتاج شرح
يدوب الاضافه الغريبه اللي ممكن تشوفها اضافت parameter خاص لقراءه الرقم اللي راح يرجع بالنتيجه
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Using conn As New SqlConnection(connectionString)
Using cmd As New SqlCommand("StoredProcedure1", conn)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@name", txtName.Text.Trim)
cmd.Parameters.AddWithValue("@phone", txtPhone.Text.Trim)
Dim param As New SqlParameter("returnValue", Nothing)
param.Direction = ParameterDirection.ReturnValue
cmd.Parameters.Add(param)
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
Dim retVal As Integer = cmd.Parameters("returnValue").Value
MsgBox("Return Value: " & retVal)
Select Case retVal
Case 0
MsgBox("تمت إضافة البيانات")
Case 99999
MsgBox("يجب إدخال بيانات")
Case 55555
MsgBox("الاسم موجود مسبقاً")
Case Else
MsgBox("Return Value: " & retVal & vbNewLine & "فشل")
End Select
End Using
End Using
End Subموفقين
متغيب
