اذهب إلى المحتوى
  • 0

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

Ahmed Sawy

السؤال

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

 

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

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

1.png

2.png

3.png

4.png

5.png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 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

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

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

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

SELECT * FROM `store`;

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...