Java从数据库将数据设置到JTable
我尝试将数据从数据库插入到Jtable 这是我的代码:
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)
问题出在哪里?
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;
}
it thorows me error:
java.lang.NullPointerException
at test$GtFromDb.getClient(test.java:108)
at test.<init>(test.java:49)
at test.main(test.java:24)
where is problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您忘记添加另一个...
1)
client=new Vector();
到DefaultTableModel
内部循环while(dane.next() ) {...}
2) 必须初始化
public Vector getClient()
return null3) 将
public Vector getClient()
更改为public void getClient()
,删除返回语句4)
PreparedStatement zadanie
必须在finally
块try- catch - finally
中关闭5)
dane = zadanie.executeQuery();
看起来像 Resultset,并且与PreparedStatement zadanie
相同,必须在finally
块6)
JTable
中关闭,并且Vector
可以保存null 值
7) 如果您只想将
DbTable
中的数据显示到JTable
那么寻找ResultsetTableModel
、TableFromDatabase
,你也可以在这个论坛上搜索you forgot to added and another ...
1)
client=new Vector<String>();
to theDefaultTableModel
inside loopwhile(dane.next()) {...}
2)
public Vector getClient()
must be initialized return null3) change
public Vector getClient()
topublic void getClient()
, remove return statement4)
PreparedStatement zadanie
must be closed infinally
blocktry- catch - finally
5)
dane = zadanie.executeQuery();
looks like as Resultset, and same asPreparedStatement zadanie
must be closed infinally
block6)
JTable
andVector
can holdnull value
7) if you are only to want to display data from
DbTable
to theJTable
then look forResultsetTableModel
,TableFromDatabase
, you can search for that on this forum too尝试这些代码结构但在你的代码结构中:
Try these Codes Structure But in yours :