Java将数据从数据库设置为JTable [英] Java set data to JTable from database
问题描述
我尝试将数据库中的数据插入Jtable 有我的代码:
i try to insert data from database to Jtable there is my code:
private Vector <Vector<String>> data;
private Vector<String> header;
table.setModel(new javax.swing.table.DefaultTableModel(
data,header
));
GtFromDb db=new GtFromDb();
data=db.getClient();
header=new Vector<String>();
header.add("Imones pavadinimas");
header.add("vardas");
header.add("pavarde");
header.add("salis");
header.add("Adresas");
header.add("telefonas");
public Vector getClient()
{
Vector <Vector<String>> clientVector=new Vector<Vector<String>>();
try
{
PreparedStatement zadanie = connect.prepareStatement("SELECT * FROM Clients");
dane = zadanie.executeQuery();
while(dane.next()) {
Vector <String> client=new Vector<String>();
String imonesPav=dane.getString("Imones_pavadinimas");
String vardas = dane.getString("Vardas");
String pavarde = dane.getString("Pavarde");
String salis = dane.getString("Salis");
String adresas=dane.getString("Adresas");
String telefonas = dane.getString("Telefonas");
if (imonesPav != null) {
imonesPav = imonesPav.trim();
client.add(imonesPav);
}
if (vardas != null) {
vardas = vardas.trim();
client.add(vardas);
}
if (pavarde != null) {
pavarde = pavarde.trim();
client.add(pavarde);
}
if (salis != null) {
salis = salis.trim();
client.add(salis);
}
if (adresas != null) {
adresas = adresas.trim();
client.add(adresas);
}
if (telefonas != null) {
telefonas = telefonas.trim();
client.add(telefonas);
}
}
zadanie.close();
}
catch(SQLException e){}
return clientVector;
}
它使我感到错误:
java.lang.NullPointerException
at test$GtFromDb.getClient(test.java:108)
at test.<init>(test.java:49)
at test.main(test.java:24)
哪里出问题了?
推荐答案
您忘记添加了,另外一个...
you forgot to added and another ...
1)client=new Vector<String>();
到循环while(dane.next()) {...}
2)public Vector getClient()
必须初始化,返回null
2) public Vector getClient()
must be initialized return null
3)将public Vector getClient()
更改为public void getClient()
,删除return语句
3) change public Vector getClient()
to public void getClient()
, remove return statement
4)PreparedStatement zadanie
必须在finally
块try- catch - finally
5)dane = zadanie.executeQuery();
类似于结果集,并且必须与PreparedStatement zadanie
相同,并且必须在finally
块中将其关闭
5) dane = zadanie.executeQuery();
looks like as Resultset, and same as PreparedStatement zadanie
must be closed in finally
block
6)JTable
和Vector
可以容纳null value
7)如果您只想显示从DbTable
到JTable
的数据,然后查找ResultsetTableModel
,TableFromDatabase
,您也可以在此论坛上搜索
7) if you are only to want to display data from DbTable
to the JTable
then look for ResultsetTableModel
, TableFromDatabase
, you can search for that on this forum too
这篇关于Java将数据从数据库设置为JTable的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!