29-07-15, 12:49 PM
اخواني الاعزاء كيفية عمل Stored Procedures يفحص الاسماء قبل الاضافة اذا كان موجودة و لا ان كانت موجود يظهر رسالة وان لا فايضيفها .
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 0Private 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 SubDim dr as SqlDataReaderdr = cmd.ExecuteReaderIF dr.HasRows Then
msgbox("The name Exists")