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
}
}
}