【问题标题】:java.sql.sqlexception column index out of range 0 <1 Using MySQL Databsejava.sql.sqlexception 列索引超出范围 0 <1 使用 MySQL 数据库
【发布时间】:2015-07-07 20:16:04
【问题描述】:

//使用MySql数据库。从 IMEI 号创建手机搜索查询 //in swing based desktop application

int coulmn_count=rsmd.getColumnCount();
DefaultTableModel dtm=new DefaultTableModel();
Vector column_name=new Vector();
Vector data_rows=new Vector();
for (int i = 1; i <=coulmn_count; i++) {
    column_name.addElement(rsmd.getColumnName(i));
}
dtm.setColumnIdentifiers(column_name);
JOptionPane.showMessageDialog(null,+coulmn_count);
while(rs.next())
{
    for (int j = 0; j <coulmn_count; j++) {
        data_rows=new Vector();
        data_rows.addElement(rs.getString(j));
    }
    dtm.addRow(data_rows);
}
//JOptionPane.showMessageDialog(null,+coulmn_count);
table.setModel(dtm);

【问题讨论】:

    标签: java swing jdbc sqlexception


    【解决方案1】:

    ResultSet 是基于 1,而不是基于 0:

    看起来你的标题名称的代码是正确的:

    for (int i = 1; i <=coulmn_count; i++) {
        column_name.addElement(rsmd.getColumnName(i));
    }
    

    但是你使用基于 0 的列数据。

    for (int j = 0; j <coulmn_count; j++) {
        data_rows=new Vector();
        data_rows.addElement(rs.getString(j));
    }
    

    修复代码以从 1 开始索引。

    【讨论】:

    • 谢谢 Camickr。我确实将其更改为 1,现在它显示 java.lang.NullPointerException。除此之外,我尝试了几种 for 循环的组合。结果是一样的。请帮忙。
    • @PranilDukare,NullPointerException 是 Java 中最常见的异常。我无法根据几行代码帮你解决问题。您需要学习如何阅读堆栈跟踪。它会告诉您导致问题的线路。因此,您可以确定为 null 的变量,然后解决问题。
    猜你喜欢
    • 2013-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 2020-03-17
    • 1970-01-01
    相关资源
    最近更新 更多