Почему у меня есть эта ошибка? что это значит? Я хочу только отобразить все данные в моей SQL DB.Заполнение jTable в JAVA
run:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javaapplication25.SearchPatient.<init>(SearchPatient.java:26)
at javaapplication25.SearchPatient$2.run(SearchPatient.java:146)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:675)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Вот коды, которые я использовал, не знаю, как это исправить, потому что я не достаточно хорош в программировании Java приложения. , может ли кто-нибудь помочь мне здесь? :
package javaapplication25;
/**
*
* @author cleanfuel
*/
import java.sql.*;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.table.DefaultTableModel;
public class SearchPatient extends javax.swing.JFrame {
/**
* Creates new form SearchPatient
*/
public SearchPatient() throws SQLException {
initComponents();
Statement stmt = null;
ResultSet rs = stmt.executeQuery("SELECT * FROM dbo.Patients");
ResultSetMetaData rsmetadata = rs.getMetaData();
int columns = rsmetadata.getColumnCount();
DefaultTableModel dtm = new DefaultTableModel();
Vector columns_vector = new Vector();
Vector rows_vector = new Vector();
for (int i=1; i< columns; i++){
columns_vector.addElement(rsmetadata.getColumnName(i));
}
dtm.setColumnIdentifiers(columns_vector);
while (rs.next()){
rows_vector = new Vector();
for (int j=1; j<columns; j++){
rows_vector.addElement(rs.getString(j));
}
dtm.addRow(rows_vector);
}
tblPatients.setModel(dtm);
}
@SuppressWarnings("unchecked")
Connection connection;
private void formWindowOpened(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
connection = Main.ConnectDatabase();
}
«Не знаю, как исправить это, потому что я недостаточно хорош в программировании Java-приложений». Итак, каждый раз, когда у вас есть небольшая проблема, вы собираетесь сюда приехать и попросить нас решить его для вас? Извините, это не так, как это работает. Вам нужно научиться решать проблемы самостоятельно. Ошибка указана в строке 26, а переменная имеет значение null. Вы должны выяснить, какая переменная имеет значение null в этой строке. Все, что вам нужно сделать, это добавить System.out.println (...) для каждой переменной, используемой в строке. Один из них будет нулевым. – camickr
извините, сэр, если я всегда задавал здесь вопрос ... –
@CrystalMaiden Сила любого хорошего разработчика - это способность исследовать собственные проблемы. Нет ничего плохого в задании вопросов, но это не должно быть первое место, которое вы начинаете, вот и все. – MadProgrammer