تقييم الموضوع :
  • 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 هو صنف ثالث جديد ام هو تعبير عن صنفان معا ؟
برجاء التوضيح اكثر هل المطلوب هو البديهي هو عند قراءة رقم البار كود يتم اضافة الصنف الى الفاتورة ؟
الرد
تم الشكر بواسطة: أشرف كريم 2 , ابو انس , ابراهيم ايبو
#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 في حالة اكثر من جدول 

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] هل يمكن كتابة كود جافا داخل مشروع فيجوال بيسك muad 0 51 , 11:50 PM
آخر رد: muad
Lightbulb [VB.NET] كيفية نجعل CheckBox في DataGridView كأنه RadioButton أبو خالد الشكري 3 138 , 02:12 PM
آخر رد: أبو خالد الشكري
  [VB.NET] كيفية تحويل قيمة textbox الي hex ابو ياسين ويزن 2 113 29-11-21, 09:35 PM
آخر رد: ابو ياسين ويزن
  كيفية اضافة الصوت مع ظهور المسج بوكس ابو نور الهدى 1 91 28-11-21, 12:52 PM
آخر رد: سعود
Exclamation [VB.NET] فزعتكم شباب ... كيفية عرض جداول وأعمدة قاعدة البيانات أبو خالد الشكري 7 308 26-11-21, 05:53 PM
آخر رد: سعود
  [سؤال] كيفية عمل صندوق صورة alims 4 216 24-11-21, 12:46 PM
آخر رد: alims
  السلام عليكم اريد استخدام هذا الجدول مع كتابة المسافه select*from patent data ahmedhhh2 4 142 22-11-21, 07:31 AM
آخر رد: ahmedhhh2
  ممكن مثال على كيفية تعليق فاتورررة tfarejdz 4 286 22-11-21, 02:10 AM
آخر رد: Taha Okla
  [VB.NET] البحث بين تاريخين moftah70 1 112 18-11-21, 09:45 PM
آخر رد: moftah70
  كيفية اضافة المكتبة Aspose atefkhalf2004 6 319 16-11-21, 04:04 AM
آخر رد: ابو روضة

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


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