gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 08:13:47 25 4
gpt4 key购买 nike

当我尝试以这种方式在表中显示数据库中的数据时:

    void AddOrderToTable(JTable projectTable) throws SQLException
{
zadanie=connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
sql="SELECT * FROM Orders ;";
dane=zadanie.executeQuery(sql);
int n=0;
while (dane.next())
{
uzsakNr=dane.getString("Uzsakymo_nr");
if (uzsakNr != null) {uzsakNr = uzsakNr.trim();}
priemDat=dane.getString("Priemimo_data");
if (priemDat != null) {priemDat = priemDat.trim();}
irengPav=dane.getString("Irenginio_pavadinimas");
if (irengPav != null) {irengPav = irengPav.trim();}
model=dane.getString("Modelis");
if (model != null) {model = model.trim();}
tip=dane.getString("Tipas");
if (tip != null) {tip = tip.trim();}
serial=dane.getString("Serijinis_nr");
if (serial != null) {serial = serial.trim();}
priedai=dane.getString("Priedai");
if (priedai != null) {priedai = priedai.trim();}
giedAprasy=dane.getString("Gedimo_aprasymas");
if (giedAprasy != null) {giedAprasy = giedAprasy.trim();}
status=dane.getString("Statusas");
if (status != null) {status = status.trim();}
grazDat=dane.getString("Grazinimo_data");
if (grazDat != null) {grazDat = grazDat.trim();}
pastabos=dane.getString("Pastabos");
if (pastabos != null) {pastabos = pastabos.trim();}
prieme=dane.getString("Prieme");
if (prieme != null) {prieme = prieme.trim();}
clientId=dane.getString("ClientId");
if (clientId != null) { clientId = clientId.trim();}


projectTable.setValueAt(uzsakNr, n, 0);
projectTable.setValueAt(priemDat, n, 1);
projectTable.setValueAt(irengPav, n, 2);
projectTable.setValueAt(model, n, 3);
projectTable.setValueAt(status, n, 4);
projectTable.setValueAt(clientId, n, 5);
n++;
}
zadanie.close();
}

我收到错误

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
at java.util.Vector.elementAt(Vector.java:432)
at javax.swing.table.DefaultTableColumnModel.getColumn(DefaultTableColumnModel.java:276)
at javax.swing.JTable.convertColumnIndexToModel(JTable.java:1812)
at javax.swing.JTable.setValueAt(JTable.java:1926)
at GetFromDb.AddOrderToTable(GetFromDb.java:195)
at Remontas.newItemMenuItem_2_actionPerformed(Remontas.java:754)
at Remontas$NewItemMenuItem_2ActionListener.actionPerformed(Remontas.java:710)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.AbstractButton.doClick(AbstractButton.java:302)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1051)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1092)
at java.awt.Component.processMouseEvent(Component.java:5517)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
at java.awt.Component.processEvent(Component.java:5282)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3984)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3819)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1791)
at java.awt.Component.dispatchEvent(Component.java:3819)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

问题出在哪里?

最佳答案

问题是表模型在您获得任何数据之前尝试显示。如果源数据尚未加载,您需要处理该情况,而不是尝试访问仍为空的对象。

关于Java从数据库错误将数据设置到JTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6850248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com