gpt4 book ai didi

java - SELECT * 不适用于 mysql 和 Java

转载 作者:行者123 更新时间:2023-11-30 00:18:26 25 4
gpt4 key购买 nike

我是Java新手,我正在开发一个简单的程序,我有一个无法解决的问题,我通过jdbc连接到mysql,我尝试从表内的数据库中检索一些数据,所以当我使用SQL SELECT * 语句不起作用,但是当我使用 SELECT 然后指定一些列时,它起作用。这是代码:-

import java.sql.*;
import javax.swing.*;
import net.proteanit.sql.DbUtils;

public class admins_records extends javax.swing.JFrame {
Connection con = null;
ResultSet rs = null;
PreparedStatement pst = null;

public admins_records() {
initComponents();
con = db.mysql_connect();
update_table();
}

private void update_table(){
try{
String sql = "SELECT * FROM admins";
pst = con.prepareStatement(sql);
rs = pst.executeQuery();
admins_table.setModel(DbUtils.resultSetToTableModel(rs));
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}

当我使用 SELECT col1, col2 ... etc 时,它可以工作,但是当我使用 SELECT * 时,它会给我这个错误:-

enter image description here

有什么建议吗?提前致谢。

最佳答案

这里是DbUtils#resultSetToTableModel()的源代码.

这是一些代码片段。如果有任何异常,则返回 null 并且您不能将 null 设置为 TableModel

public static TableModel resultSetToTableModel(ResultSet rs) 
try{
...
for (int i = 1; i <= numberOfColumns; i++) {
newRow.addElement(rs.getObject(i));
}
...
}catch (Exception e) {
e.printStackTrace();

return null;
}
}

关于java - SELECT * 不适用于 mysql 和 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23461332/

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