13-04-23, 12:19 AM
(12-04-23, 10:58 PM)new_programer كتب : الله ينور عليك استاذى الكبير
كدة اتحلت نصف المطلوب
كيف
فإذا عاد برقم 0 فهذا يعني أنه ليس هناك باركود مسجل، فعندئذ عليك بإنشاء باركود جديد لحفظه مع بياناته بStoredProcedure خاص بالإضافة وليكن إسمه AddBarCode
كيف اضيف باركو جديد فى نفس ال Stored Procedure
هنا محتاج اذا عاد برقم 0
ياخد اخر باركود +1
وهيسجل الباركود
كيف اضيفها فى نفس ال بStoredProcedure
هذا آخر تعديل
إذا لم تحصل على المطلوب، فكما ذكرت لك (اعمل مشروع بسيط مع ملف قاعدة بيانات لتطبيق الفكرة عليه)
كود :
ALTER PROCEDURE [dbo].[StoredProcedure2] (@itemCode int, @supplierCode int, @unitCode int)
AS
DECLARE @barCode int
SET @barCode = (SELECT [barCode] FROM Uint_ItemsTbl WHERE [ItemCode]=@itemCode AND [SupplierCode]=@supplierCode AND [UnitCode]=@unitCode)
/* التأكد من موجود باركود مسبق */
IF @barCode IS NOT NULL
RETURN @barCode -- الباركود المسجل
ELSE
BEGIN TRY
-- الباركود الجديد
SET @barCode = (SELECT MAX([barCode]) + 1 FROM Uint_ItemsTbl)
/* إدخال البيانات */
INSERT INTO [Uint_ItemsTbl] ([barCode], [itemCode], [SupplierCode], [UnitCode]) VALUES (@barCode, @itemCode, @supplierCode, @unitCode)
END TRY
BEGIN CATCH
RETURN -1
END CATCH
RETURN @barCodeكود :
Using cmd As New SqlCommand("StoredProcedure2", conn)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@itemCode", Int(txtItemCode.Text))
cmd.Parameters.AddWithValue("@supplierCode", Int(txtSupplierCode.Text))
cmd.Parameters.AddWithValue("@unitCode", Int(txtUnitCode.Text))
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(retVal)
Select Case retVal
Case Is > 0
txtBarCode.Text = retVal
Case -1
MsgBox("Return Value: " & retVal & vbNewLine & "فشل")
End Select
End Usingإذا لم تحصل على المطلوب، فكما ذكرت لك (اعمل مشروع بسيط مع ملف قاعدة بيانات لتطبيق الفكرة عليه)
