الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما الخطأ في هذا الكود؟ (كود بحث مع SQL)

مغلق
بدأه AN@S في 5 يوليو 2004 · 2 رد · 681 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ...

أنا أعتبر مبتدأ في لغة الفيجوال بيسك 6 لهذا أرجو مساعدتي ...

أقوم بكتابة برنامج يحتوي على قاعدة بيانات ... تحتوي قاعدة البيانات على جدول فيه معلومات عن بضاعة معينة ومواصفاتها كالرقم التسلسلي و السعر والكمية والوصف ... إلخ

استخدمت في برنامجي متحكم الداتا كونترول وكل شيء تمام, أستطيع الآن تصفح الداتا بيز بوساطة الداتا كونترول وإضافة وحذف العناصر لكن عندي مشكلة وهي في البحث ...

هناك صندوق نصي يسمح للمستخدم بكتابة الكلمة المراد البحث عنها حيث أقوم بإدخال الكلمة في SQL Query للبحث عنها وإظهار النتائج ..

هذا هو الكود:

 Data.RecordSource = "select * from DVDs where ID='txtSearchKey.Text'"
    Data.Refresh

لكن البرنامج يعطيني الخطأ التالي:

Data type mismatch in criteria expression

ثم يعطيني إشارة الخطأ عند السطر الثاني Data.Refresh

أرجو المساعدة ,,,

والسلام ,,

تم تعديل هذه المشاركة بواسطة AN@S في 5 يوليو 2004 في 10:46

#2

السلام عليكم

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

فاذا كان عدد يجب ادخال الكلمة val قبل اسم التكست بوكس

من قال لا إله إلا الله صادقا دخل الجنة

موقعي للتعارف و تبادل الأخبار http://www.xybond.com

#3

السلام عليكم

اخي العزيز الخطأ واضع كعين الشمس

انت شملت اسم صندوص النص ضمن جملة الاستعلام لذا لم يعتبرها اسم اداة برمجية بل استخدمها كنص تريد البحث عنه .

الكود الخطـا

Data.RecordSource = "select * from DVDs where ID='txtSearchKey.Text'"
   Data.Refresh

الكود الصحيح

Data.RecordSource = "select * from DVDs where ID=" &  Val(txtSearchKey.Text) 
 Data.Refresh

اذا اردت البحث عن قيمة نصية

Data.RecordSource = "select * from DVDs where ID='" &  Val(txtSearchKey.Text)  & "'"
Data.Refresh

ملاحظة / يجب ان تتفق نوع الحقل مع نوع البيانات المراد البحث عنها بمعني البحث عن نص في حقل رقمي غير مقبول

وشكرا

تم تعديل هذه المشاركة بواسطة prof_1982 في 5 يوليو 2004 في 11:03

الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.

إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.

هذا الموضوع مغلق.

مواضيع مشابهة