Привет Я пытаюсь получить данные из базы данных и отображения в jtable, но я не могу это сделать. Код приведен ниже. Кто-нибудь может мне помочь, пожалуйста.Данные не отображаются в jtable
//Dialog Creation for Finding Data
jdlgFind=new JDialog(frame,"FIND DATA",true);
jdlgFind.setFont(new Font("Times New Roman", Font.PLAIN, 12));
jdlgFind.setSize(650,500);
findpanel=new JPanel();
findpanel.setBackground(new Color(144, 238, 144));
jdlgFind.setContentPane(findpanel);
findpanel.setLayout(new FlowLayout());
findpanel.setFont(new Font("Times New Roman", Font.PLAIN, 12));
txtGetMobileno=new JTextField(15);
txtGetLandlineno=new JTextField(15);
txtGetPlaceofBirth=new JTextField(15);
JTable jtblFindDate=new JTable(tbldata,columnhead);
jspFindPanel=new JScrollPane(jtblFindDate);
jtblFindDate.setRowSelectionAllowed(true);
jtblFindDate.setFont(new Font("Times New Roman", Font.PLAIN, 11));
jtblFindDate.setPreferredSize(new Dimension(600, 500));
findpanel.add(new JLabel("Mobile No. please : ")).setFont(new Font("Times New Roman", Font.BOLD, 12));
findpanel.add(txtGetMobileno).setFont(new Font("Times New Roman", Font.PLAIN, 12));
findpanel.add(new JLabel("Landline No. please : ")).setFont(new Font("Times New Roman", Font.BOLD, 12));
findpanel.add(txtGetLandlineno).setFont(new Font("Times New Roman", Font.PLAIN, 12));
findpanel.add(new JLabel("Place Of Birth please : ")).setFont(new Font("Times New Roman", Font.BOLD, 12));
findpanel.add(txtGetPlaceofBirth).setFont(new Font("Times New Roman", Font.PLAIN, 12));
findpanel.add(jspFindPanel);
txtGetMobileno.setDocument(new TextFieldLimit(11));
txtGetMobileno.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent ae)
{
findMobileno=null;
findMobileno=txtGetMobileno.getText();
txtGetLandlineno.setEditable(false);
txtGetPlaceofBirth.setEditable(false);
if(findMobileno.length()!=0)
{
try
{
dbcon=new DB_Connection();
PreparedStatement pstmt=dbcon.DB_Connection("//F://eclipse_Luna_64_Development_Workspace//Project JAVA//LIC_AGENCY_TRACKER//DATABASE//LIC_DATA_TRACKER.accdb").prepareStatement("select Inquiry_Master_Data.Inquiry_Master_Name as [Inquirer Name],Inquiry_Master_Data.Inquiry_Master_Mobile_Number as [Inquirer Mobile No],Inquiry_Master_Data.Inquiry_Master_Landline_Number as [Inquirer Landline No],"
+ "Inquiry_Master_Data.Inquiry_Master_Place_Of_Work as [Inquirer Work Place] from Inquiry_Master_Data where Inquiry_Master_Data.Inquiry_Master_Mobile_Number='"+findMobileno+"'");
ResultSet rset=pstmt.executeQuery();
ResultSetMetaData rsetmetadata=rset.getMetaData();
int col=rsetmetadata.getColumnCount();
columnhead=new Vector(col);
columnhead.add("Inquirer Name");
columnhead.add("Inquirer Mobile No");
columnhead.add("Inquirer Landline No");
columnhead.add("Inquirer Work Place");
tbldata=new Vector();
row=new Vector();
while(rset.next())
{
row=new Vector(col);
for(int i=1;i<=col;i++)
{
row.add(rset.getString(i));
}
tbldata.add(row);
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, "Data not found.");
txtGetMobileno.setText("");
txtGetLandlineno.setEditable(true);
txtGetPlaceofBirth.setEditable(true);
txtGetMobileno.requestFocus();
}
}
else
{
txtGetLandlineno.requestFocus();
}
}
});
Я пользуюсь MS Access. Я использовал Prepared Statement для извлечения данных, но не отображает данные.
С уважением Сандип
У меня есть данные в моей таблице Inquiry_Master_Date, но при попытке получить данные из таблицы он отображает исключение в виде исключения по току. –
Я проверил свой комментарий на части столбца и использовал System.out.println() данные извлекаются из таблицы и отображаются в консоли, но когда я раскомментирую часть столбца в колонке, снова появляется ошибка java.null.point , Можете ли вы, пожалуйста, подсказать, что не так с моим кодом. –
Я не могу выполнить или отлаживать ваш код, поэтому знаю, что я не знаю, что не так. Если у вас есть NPE, вам нужно выяснить, что переменная имеет значение null и исправить проблему. Я предоставил вам рабочий код. Почему бы вам не начать с рабочего кода? – camickr