تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيفية البحث عن رقم داخل حقل في الجدول
#1
اخوتي الاعزاء كيف حالكم 

لدي مشكلة بسيطة وهي 

لدي صنف يحتوي علي رقم باركود  12345
ولدي صنف اخر يحتوي علي رقم باركود  67890

قمت بدمج اصناف من خلال رقم الباركود 

بحيث اصبح رقم باركود الصنف 1234567890

واريد عند قراءة الباركود عن طريق جهاز قاري الباركود يقوم بقراءة جسب الرقم المدخل 

بمعني 

لو قمت بقراءة الصنف الاول يقوم باضافة الي القانورة 
ولو قمت بقراءة الصتف الثاني يقوم باضافة الكمية فقط للفاتورة

كود :
           Dim cmd As New SqlCommand("Select * From Tbl_all_store where Bar_code = '" & BunifuTextBox3.Text & "'and Store_Name='" & Label13.Text & "' ", conn)
الرد }}}
تم الشكر بواسطة: أشرف كريم 2 , ابراهيم ايبو
#2
الان الصنف 1234567890 هو صنف ثالث جديد ام هو تعبير عن صنفان معا ؟
برجاء التوضيح اكثر هل المطلوب هو البديهي هو عند قراءة رقم البار كود يتم اضافة الصنف الى الفاتورة ؟
الرد }}}
#3
(03-11-21, 03:36 PM)Anas Mahmoud كتب : الان الصنف 1234567890 هو صنف ثالث جديد ام هو تعبير عن صنفان معا ؟
برجاء التوضيح اكثر هل المطلوب هو البديهي هو عند قراءة رقم البار كود يتم اضافة الصنف الى الفاتورة ؟

تعبير عن الصنفان معا 

توضيح 

انا استخدم الدمج الاصناف علي سيبل المثال 

الصنف الاول : حليب  صباح بنكهة الفراولة ورقم الباركود 12345
والصنف الثاني : حليب صباح بنكهة الموز ورقم الباركود 67890

وهم يحملان نفس اسم الشركة 


انا قمت بدمج الاصناف معنا بحيث اسم الصنف حليب صباح فقط واصبح يحمل رقم الباركود 1234567890

المطلوب ؟

اريد عندما اقم بقراءة الباركود يعرض ليا اسم الصنف 

بحيث عندما اقوم بقراءة الحليب بنكهة الفرولة   يظهر لي حليب صباح 
وعندما اقوم بقراءة الحليب بنكهة الموز   يطهر لي حليب صباح ايضا 


يعني اريد يقراءة من اي جزء في الحقل علي حسب القيمة المدخلة
الرد }}}
تم الشكر بواسطة: ابو انس , Anas Mahmoud , ابراهيم ايبو
#4
أنت تبحث عن المعامل Like بدلا من = 

يستخدم المعامل Like للبحث عن حقل يحتوي على النص المطلوب وليس شرطا ان يساويه 

بحيث تصبح صورة الاستعلام 


كود :
Select * From Tbl_all_store where Bar_code Like '%12345%'and Store_Name='Store one'
يجدر الإشارة إلى أن استخدام & BunifuTextBox3.Text & بهذه الطريقة لتمرير قيم الى الاستعلام هو مدخل لنقطة ضعف كبيرة جدا وشهيرة اسمها SQL Injection 
يجب الابتعاد عنها تمام واستخدام Parameters لتمرير القيم الى الاستعلام هكذا : 
كود :
Dim cmd As New SqlCommand("Select * From Tbl_all_store where Bar_code Like @barcode and Store_Name=@storename", conn)


cmd.Parameters.AddWithValue("@barcode", "%" & BunifuTextBox3.Text & "%")
cmd.Parameters.AddWithValue("@storename", Label13.Text)

راجع الموضوع التالي لمزيد من المعلومات عن ال SQL Injection وخطورته :
خطورة ال Sql Injection ولماذا يجب عليك استخدام Parameters لبناء الاستعلامات
الرد }}}
تم الشكر بواسطة: أشرف كريم 2 , ابراهيم ايبو
#5
(03-11-21, 05:23 PM)Anas Mahmoud كتب : أنت تبحث عن المعامل Like بدلا من = 

يستخدم المعامل Like للبحث عن حقل يحتوي على النص المطلوب وليس شرطا ان يساويه 

بحيث تصبح صورة الاستعلام 


كود :
Select * From Tbl_all_store where Bar_code Like '%12345%'and Store_Name='Store one'
يجدر الإشارة إلى أن استخدام & BunifuTextBox3.Text & بهذه الطريقة لتمرير قيم الى الاستعلام هو مدخل لنقطة ضعف كبيرة جدا وشهيرة اسمها SQL Injection 
يجب الابتعاد عنها تمام واستخدام Parameters لتمرير القيم الى الاستعلام هكذا : 
كود :
Dim cmd As New SqlCommand("Select * From Tbl_all_store where Bar_code Like @barcode and Store_Name=@storename", conn)


cmd.Parameters.AddWithValue("@barcode", "%" & BunifuTextBox3.Text & "%")
cmd.Parameters.AddWithValue("@storename", Label13.Text)

راجع الموضوع التالي لمزيد من المعلومات عن ال SQL Injection وخطورته :
خطورة ال Sql Injection ولماذا يجب عليك استخدام Parameters لبناء الاستعلامات

لقد جربت % تظهر لي مشكلة وهي 

اني يوجد ليا صنف رقم الباركود 02112345

عندما ابحث علي 12345

انا اريد يقوم يقراءة 123456 ويتجاهل 021
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#6
حسنا دعني اخبرك ان عليك الاختيار بين اما ان يبحث عن الكود بعينه او ان يكون الكود جزء من كود اخر
بامكانك التخلص من المشكلة تمام من خلال تعديل بسيط في تصميم قاعدة البيانات
بامكانك عمل جدول للباركود منفصل عن جدول الاصناف ، تجعله مربوط بالجدول الاصلي الخاص بالاصناف عن طريق Id الصنف ، وبالتالي يمكنك في هذه الحالة اضافة اكثر من بار كود للصنف الواحد ،

   


   

   


الان عندما تبحث عن اي من هذه الباركودات فانك تستعلم عن Id الصنف الموجود معه في نفس الجدول وبالتالي يمكنك ايجاد باقي معلومات الصنف  

PHP كود :
select Tbl_all_store.Product_Name,Tbl_all_store.Price,Tbl_all_store.Exp_Date
from dbo
.Tbl_all_store 
inner join dbo
.Tbl_Barcodes 
on dbo
.Tbl_all_store.Id dbo.Tbl_Barcodes.Product_Id
where dbo
.Tbl_Barcodes.Barcode='12345' 


   

   
الرد }}}
تم الشكر بواسطة: أشرف كريم 2 , ابراهيم ايبو
#7
(03-11-21, 06:17 PM)Anas Mahmoud كتب : حسنا دعني اخبرك ان عليك الاختيار بين اما ان يبحث عن الكود بعينه او ان يكون الكود جزء من كود اخر
بامكانك التخلص من المشكلة تمام من خلال تعديل بسيط في تصميم قاعدة البيانات
بامكانك عمل جدول للباركود منفصل عن جدول الاصناف ، تجعله مربوط بالجدول الاصلي الخاص بالاصناف عن طريق Id الصنف ، وبالتالي يمكنك في هذه الحالة اضافة اكثر من بار كود للصنف الواحد ،









الان عندما تبحث عن اي من هذه الباركودات فانك تستعلم عن Id الصنف الموجود معه في نفس الجدول وبالتالي يمكنك ايجاد باقي معلومات الصنف  

PHP كود :
select Tbl_all_store.Product_Name,Tbl_all_store.Price,Tbl_all_store.Exp_Date
from dbo
.Tbl_all_store 
inner join dbo
.Tbl_Barcodes 
on dbo
.Tbl_all_store.Id dbo.Tbl_Barcodes.Product_Id
where dbo
.Tbl_Barcodes.Barcode='12345' 

شكرا باش مهندس سوف اعمل علي ذلك

(03-11-21, 06:17 PM)Anas Mahmoud كتب : حسنا دعني اخبرك ان عليك الاختيار بين اما ان يبحث عن الكود بعينه او ان يكون الكود جزء من كود اخر
بامكانك التخلص من المشكلة تمام من خلال تعديل بسيط في تصميم قاعدة البيانات
بامكانك عمل جدول للباركود منفصل عن جدول الاصناف ، تجعله مربوط بالجدول الاصلي الخاص بالاصناف عن طريق Id الصنف ، وبالتالي يمكنك في هذه الحالة اضافة اكثر من بار كود للصنف الواحد ،









الان عندما تبحث عن اي من هذه الباركودات فانك تستعلم عن Id الصنف الموجود معه في نفس الجدول وبالتالي يمكنك ايجاد باقي معلومات الصنف  

PHP كود :
select Tbl_all_store.Product_Name,Tbl_all_store.Price,Tbl_all_store.Exp_Date
from dbo
.Tbl_all_store 
inner join dbo
.Tbl_Barcodes 
on dbo
.Tbl_all_store.Id dbo.Tbl_Barcodes.Product_Id
where dbo
.Tbl_Barcodes.Barcode='12345' 
باش مهنس 

انا استخدم في Transaction في حالة اكثر من جدول 

هل تفي بالغرض ام توجد طريقة اخري لباقي الاجراءات الاضافة والتعديل والحدف 
تكون افضل واسهل 
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  أريد البحث بإستخدام أي جزء من الكلمة و ليس أول جزء منها . CoderMM 3 96 17-04-24, 01:19 AM
آخر رد: Taha Okla
  كيفية جمع أرقام عمود فى الداتا جريد فيو بناءاً على بيانات معينة heem1986 5 241 25-02-24, 11:26 PM
آخر رد: heem1986
  كيفية تنفيذ امر عند التعليم على checkbox بالداتا جريد فيو heem1986 2 164 21-02-24, 01:37 AM
آخر رد: heem1986
  كيفية انشاء سكريبت لقاعدة بيانات من خلال الكود heem1986 1 215 20-02-24, 12:00 AM
آخر رد: Kamil
  [VB.NET] البحث باستخدام CheckedListBox لتكون نتيجة التحديد شرط لجملة الاستعلام ahmedramzyaish 0 125 19-02-24, 03:44 AM
آخر رد: ahmedramzyaish
  كيفية تنفيذ أمر عرض بيانات من فورم ثان مصمم هاوي 7 339 19-02-24, 12:28 AM
آخر رد: مصمم هاوي
  كيفية حفظ وتحزيم المشروع وتشغيله كبرنامج علىجميع الاجهزة الرائد 3 1,137 18-02-24, 10:37 PM
آخر رد: الحزين اليماني
  البحث بالهوية annagui 2 325 25-01-24, 01:00 PM
آخر رد: annagui
  [سؤال] كيفية انشاء فورم داخل مشروعى عاصم النجار 2 314 05-01-24, 12:36 AM
آخر رد: HALIM ELEULMA
  حماية عمود داخل ورقة الاكسل العيدروس 3 195 05-01-24, 12:21 AM
آخر رد: HALIM ELEULMA

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم