12-04-23, 09:33 PM
(11-04-23, 07:03 PM)new_programer كتب :(11-04-23, 05:30 PM) كتب :(11-04-23, 05:26 PM)new_programer كتب : لا. استاذي الفاضل انا لا استعلم عن الباركود دة مجرد مثال لان الكود عندى كبير
فعملت مثال مختصر للتوضيح الفكرة
انا محتاج اعمل استعلام لو يوجد باركود
الصنف مع المورد مع المخزن مع الوحدة
لو يوجد بيانات يرجع بالباركود
لو مافيش بيانات هيتم انشاء باركود
لو أنك من البداية وضعت الاستعلام الذي لديك لاستفدت من الوقت للحصول على الحل
تمام استاذى الفاضل
هوضح الكود كامل مع توضيح المطلوب
توقفت عند قولك (لو مافيش باركود يتم انشاء باركود) فكيف يتم إنشاءه داخل ال StoredProcedure ؟
عموما هذا حل بأن تنشئ StoredProcedure باسم GetBarCode مهمته جلب الباركود، وترسل له رقم المورد ورقم المخزن ورقم الوحدة
فإذا عاد برقم 0 فهذا يعني أنه ليس هناك باركود مسجل، فعندئذ عليك بإنشاء باركود جديد لحفظه مع بياناته بStoredProcedure خاص بالإضافة وليكن إسمه AddBarCode
كود :
CREATE PROCEDURE [dbo].[GetBarCode] (@itemCode int, @supplierCode int, @unitCode int)
AS
RETURN (SELECT [barCode] FROM Uint_ItemsTbl WHERE [ItemCode]=@itemCode AND [SupplierCode]=@supplierCode AND [UnitCode]=@unitCode )كود :
Using cmd As New SqlCommand("GetBarCode", 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
Select Case retVal
Case 0
txtBarCode.Text = "0"
MsgBox("لا يوجد باركود")
Case Is > 0
txtBarCode.Text = retVal
MsgBox("الباركود موجود مسبقاً" & vbNewLine & retVal)
End Select
End Usingأما إذا أردت الاستعلام عن الباركود والإضافة إن لم يجده في عملية واحدة
فحينئذ عليك بإنشاء باركود جديد (من باب الإحتياط) ترسله مع رقم المورد ورقم المخزن ورقم الوحدة
فإذا كان هناك بار كود مسجل مسبقا يجلبه ويتجاهل الباركود الجديد
وإن لم يجد باركود مسجل مسبقا يقوم بإضافته مع بياناته المتعلقة به
إذا أردت العمليتين معا اعمل مشروع بسيط مع ملف قاعدة بيانات لتطبيق الفكرة عليه
