Java从数据库将数据设置到JTable

发布于 2024-11-24 21:29:32 字数 2273 浏览 1 评论 0原文

我尝试将数据从数据库插入到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技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

依 靠 2024-12-01 21:29:32

您忘记添加另一个...

1) client=new Vector();DefaultTableModel 内部循环 while(dane.next() ) {...}

2) 必须初始化 public Vector getClient() return null

3) 将 public Vector getClient() 更改为 public void getClient(),删除返回语句

4) PreparedStatement zadanie 必须在 finallytry- catch - finally 中关闭

5) dane = zadanie.executeQuery(); 看起来像 Resultset,并且与 PreparedStatement zadanie 相同,必须在 finally

6) JTable 中关闭,并且Vector 可以保存 null 值

7) 如果您只想将 DbTable 中的数据显示到 JTable 那么寻找ResultsetTableModelTableFromDatabase,你也可以在这个论坛上搜索

you forgot to added and another ...

1) client=new Vector<String>(); to the DefaultTableModel inside loop while(dane.next()) {...}

2) public Vector getClient() must be initialized return null

3) change public Vector getClient() to public void getClient(), remove return statement

4) PreparedStatement zadanie must be closed in finally block try- catch - finally

5) dane = zadanie.executeQuery(); looks like as Resultset, and same as PreparedStatement zadanie must be closed in finally block

6) JTable and Vector can hold null value

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

亚希 2024-12-01 21:29:32

尝试这些代码结构但在你的代码结构中:

DefaultTableModel dtm = new DefaultTableModel();
dtm.setColumnCount(2);
dtm.setRowCount(2);
dtm.setValueAt("Imones pavadinimas", 1, 1);
dtm.setValueAt("Imones vardas", 2, 1);
dtm.setValueAt("Pavarde", 1, 2);
dtm.setValueAt("Salis", 2, 2);
 ...
jTable1.setModel(dtm);

Try these Codes Structure But in yours :

DefaultTableModel dtm = new DefaultTableModel();
dtm.setColumnCount(2);
dtm.setRowCount(2);
dtm.setValueAt("Imones pavadinimas", 1, 1);
dtm.setValueAt("Imones vardas", 2, 1);
dtm.setValueAt("Pavarde", 1, 2);
dtm.setValueAt("Salis", 2, 2);
 ...
jTable1.setModel(dtm);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文