Java 循环从数据库加载数据

Java 循环从数据库加载数据,java,mysql,swing,for-loop,Java,Mysql,Swing,For Loop,我想问:为什么当我加载我的程序时,它没有出现 我的程序是当我点击我的按钮时,它将从我的数据库中的所有组件加载。我正在使用方法getRow()中的循环。奇怪的是,netbeans中没有错误,但图片不想显示。我认为SQL中没有错误。如何修复它 public void loaddata(){ try{ ImageIcon img; koneksi_db(); java.sql.Statement st = conn.createStatement(); ResultSe

我想问:为什么当我加载我的程序时,它没有出现

我的程序是当我点击我的按钮时,它将从我的数据库中的所有组件加载。我正在使用方法
getRow()中的循环。奇怪的是,netbeans中没有错误,但图片不想显示。我认为SQL中没有错误。如何修复它

public void loaddata(){
try{
    ImageIcon img;
    koneksi_db();
    java.sql.Statement st = conn.createStatement();
    ResultSet rs = st.executeQuery("Select * FROM component where UsernameID ='"+jLabel5.getText()+"' ");    // query for load as username login

    for (int i=1; i<rs.getRow(); i++){   // loading data using loop from get row
        rs.getRowId(i);
        JLabel draggy = new JLabel();
        String imagePath =  rs.getString("source");
        int x = rs.getInt("coordinatX");
        int y = rs.getInt("coordinatY");
        String nama = rs.getString("UniqueID");
        img = new ImageIcon(getClass().getResource(imagePath));
            draggy.setIcon(img);
            draggy.setText(nama);
            this.add(draggy);
            draggy.setBounds(x, y, 70, 70); //calling dragy (jlabel) in frame.
    }
    }catch(Exception e){

     JOptionPane.showMessageDialog(null,"error in sql");
    }
}
public void loaddata(){
试一试{
图像图标;
koneksi_db();
java.sql.Statement st=conn.createStatement();
ResultSet rs=st.executeQuery(“从UsernameID='“+jLabel5.getText()+””的组件中选择*”;//查询作为用户名登录的加载

for(int i=1;i您的
for
循环未运行,因为
i使用布局管理器重新绘制容器?您是否尝试重新绘制容器?是否验证组件的位置?尝试使用
ImageIO。读取
而不是
ImageIcon(URL)
当然可以。我已经验证了组件的位置。当我尝试更改为
img=new ImageIO.read(getClass().getResource(imagePath))时
我得到错误找不到符号read您是否为
javax.imageio.imageio
添加了导入语句?是的,我一直在导入javax.imageio.ImageIOthx以供建议。但是您能否从我的脚本中给我一个示例,以便像我的脚本一样加载?没有for。这是您脚本中的一个示例。用您的代码替换
//这里的代码
,starting以
JLabel draggy=…
结尾,以
draggy.setBounds(…)
结尾。
while (rs.next()) {
    // call rs.getXxx methods to retrieve column values
}
String sql = "SELECT * FROM component WHERE UsernameID = ?";
try (PreparedStatement stmt = conn.prepareStatement()) {
    stmt.setString(1, jLabel5.getText());
    try (ResultSet rs = st.executeQuery()) {
        while (rs.next()) {
            // code here
        }
    }
}