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

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

بدأه wawaqsqs في 20 يوليو 2010 · 2 رد · 472 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اخواني اعضاء منتدى الجافا

واجهتني المشكلة التالية "Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException" عندما حاولت استرجاع البيانات من myaql databse داخل jtable وطبعا استعنت بالمشروع الكتبة المطروح بالمنتدى

الغريب في الموضوع انو الكود كان شغال 100% ولكن ارجعت اعمل run من جديد وظهرت هاي المشكلة

كود الاستعلام من الداتا بيز كما هو بمشروع "المكتبة"

public patient[] selectAll() throws SQLException {
        Connection connection = null;
        patient[] arr = null;
        try {
            connection = new dbconnection().getconnectionn();
            ArrayList<patient> list = new ArrayList<patient>();
            patient item;
            Statement stmnt = connection.createStatement();
            ResultSet rs = stmnt.executeQuery("SELECT * FROM main");
            while (rs.next()) {
                item = new patient();
                item.setpname(rs.getString(1));
                item.setid(rs.getLong(2));
                item.setpage(rs.getLong(3));
                item.setpcondtionlong(rs.getLong(4));
                item.setdate3(rs.getDate(5));
                item.setDoc(rs.getString(6));
                item.setsex(rs.getString(7));
                list.add(item);
            }

            arr = new patient[list.size()];
            list.toArray(arr);
        } finally {

            return arr;
        }

    }

وهذا كود الاستدعاء والعرض ب jtable

private void lodpationts(){
   patientservice v=new patientservice();

   try {
        patient[] arr=null;
      arr=v.selectAll();
       int salesAttributesNumber =7;
        Object salesArr[][] = new Object[arr.length][salesAttributesNumber];
         for (int i = 0; i < arr.length; i++) {
                Object[] rows = new Object[salesAttributesNumber];


                rows[6] = arr.getpname();
                rows[5] = arr.getpage();
                rows[4] = arr.getpcondtionlong();
                rows[3] = arr.getdate2();
                rows[2] = arr.getDoc();
                rows[1] = arr.getsex();
                rows[0]=arr.getid();
                salesArr = rows;

       }

         //TableModel model =new DefaultTableModel(salesArr,new String[]{"جنس المريض","الطبيب المحول ","تاريخ الزيارة"," رقم التقرير", "عمر المريض","اسم المريض"});
         //jTable1.setModel(model);

         jTable1.setModel(new DefaultTableModel(salesArr, new String[]{"رقم المريض","جنس المريض","الطبيب المحول ","تاريخ الزيارة"," رقم التقرير", "عمر المريض","اسم المريض"}));
        jTable1.setRowSelectionInterval(0, 0);
   }catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "خطاء حدث اثناء استرجاع البيانات من قاعدة البيانات", "lodpationts()", JOptionPane.ERROR_MESSAGE);
        }


    }

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

1 −1
#2

ما هو مصدر الخطأ (السطر الذي يحدث فيه الخطأ)..

قم بالتأكد من الناتج بعد استدعاء الدالة:

arr=v.selectAll();

فاذا كان

arr == null

فهذا يعني ان الدالة بها خطأ selectAll ، فتأكد من وجود الجدول..وتأكد من صحة الاتصال بالقاعدة..

قم بعمل catch ثم finally في الدالة selectAll وداخل الcatch قم بطباعة الexception اذا كان هناك حتى يعطيك فكرة أوضح عن مصدر الخطأ..

بالتوفيق..

1 −1

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#3
Wajdy Essam كتب:

ما هو مصدر الخطأ (السطر الذي يحدث فيه الخطأ)..

قم بالتأكد من الناتج بعد استدعاء الدالة:

arr=v.selectAll();

فاذا كان

arr == null

فهذا يعني ان الدالة بها خطأ selectAll ، فتأكد من وجود الجدول..وتأكد من صحة الاتصال بالقاعدة..

قم بعمل catch ثم finally في الدالة selectAll وداخل الcatch قم بطباعة الexception اذا كان هناك حتى يعطيك فكرة أوضح عن مصدر الخطأ..

بالتوفيق..

شكرا كتير كتير اخ "'Wajdy Essam' "بعد ان عملت كما قلت "قم بعمل catch ثم finally في الدالة selectAll وداخل الcatch قم بطباعة الexception اذا كان هناك حتى يعطيك فكرة أوضح عن مصدر الخطأ." وجدت الخطا وهو ادخال خاطىء للتاريخ 0000-00-00 وتم حل المشكلة

شكرا مرة تانية

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