• 0

مشكلة فى برمجة زر البحث JAVA

مشكلة فى برمجة زر البحث .. 

 

انا عامل دالة فى كلاس اسمه جو فى الصورة رقم (1 و2) .. والدالة دى طويلة جدا عاملها عشان استدعيها عند عملية البحث من قاعدة البيانات ..

بعدها عملت دالة اخرى فى كلاس اسمه store    (فى الصورة رقم 3)  وبرمجت زر البحث فى الفورم الخاص بها عشان ابحث  (بالصورة رقم 4)  .. لكن يظهر لى خطأ ؟؟( الصورة رقم5) .. ما هو الحل

1.png

2.png

3.png

4.png

5.png

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 2
بتاريخ 1 ساعة قال Ahmed Sawy:

@مصطفى القبانيللأسف لم تعمل .. الخطا ليس فى جملة السليكت لانها بتعمل على الداتا بيز .. انا حاسس ان العيب فى كود الجافا وليس الماى سكوال

مرحباً أحمد ..
الخطأ في الدالة fillToJTable لأن الشرط : 

if("select ".equals(SPart)) {
  strSelect = tableNameOrStatment;
} else {
  strSelect = "select * from " + tableNameOrStatment;
}

لا يتحقق و بماأن الشرط لا يتحقق فإنه يدخل في البلوك else و بالتالي يُصبح الإستعلام خاطئ بهذا الشكل :

select * from select * from store

و هذا مايشير إليه الخطأ الخاص ب syntax لغة sql .
لماذا لا يتحقق الشرط لأنك تستخدم الدالة substring بطريقة لا تُحقق الشرط دعنا نفهم ما مفهوم الدالة هذه الدالة تقوم بإقتطاع جزء من سلسلة محارف نصية بحيث تستقبل معاملين الأول ضروري و الثاني إختياري بحيث المعامل الأول هو بداية الإقتطاع و الحرف الخاص بهذا المعامل يدخل في الإقتطاع أما المُعامل الثاني فلا يدخل في الإقتطاع بمعنى لو حددنا المعاملين 0 و 1 فسيتم إقتطاع حرف واحد فقط و ليس حرفين لذلك و على هذا الأساس يجب إستخدام المعامل 0 و 7 مع الدالة substring حتى يتحقق الشرط لأن السلسلة : "select " تحتوي على 7 محارف نصية و معامل الحرف الآخير هو 6 بهذا الشكل :

String SPart = tableNameOrSelectStatment.substring(0,7).toLowerCase();

بالتوفيق

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 1

تحياتي أستاذ أحمد

الرسالة تخبرك أن الخطأ هو في جملة الSQL المكتوبة.

جرب تغيير الجملة إلى:

SELECT * FROM `store`;

فمن الممكن أن يكون store كلمة محجوزة، لذلك عليك عمل escaping لأسم الtable.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

@مصطفى القبانيللأسف لم تعمل .. الخطا ليس فى جملة السليكت لانها بتعمل على الداتا بيز .. انا حاسس ان العيب فى كود الجافا وليس الماى سكوال

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0
بتاريخ 9 ساعات قال عبود سمير:

 


String SPart = tableNameOrSelectStatment.substring(0,7).toLowerCase();

شكرا .. فعلا الخطأ طلع هنا 

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن