在这里,我想从MySQL DB&获取数据。运行play方法。但它立即执行。我希望得到第一行信息传递给ply方法&得到第二行信息&将它传递给play方法等等。 请帮我解决这个问题。 提前谢谢你。
public class Player {
static Play PL = new Play();
public static void main(String[] args) {
try {
Statement stmt = null;
// connect to database radio
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/radio", "root", "");
stmt=conn.createStatement();
String sql = "SELECT Link FROM split";
ResultSet rs = stmt.executeQuery(sql);
//STEP 5: Extract data from result set
while(rs.next()){
//Retrieve by column name
int numColumns = rs.getMetaData().getColumnCount();
for ( int i = 1 ; i <= numColumns ; i++ ) {
System.out.println(numColumns);
String SongLocation = rs.getString(i);
System.out.println(SongLocation);
PL.play(SongLocation);
System.out.println("playing song");
}
}
} catch (SQLException e1) {
e1.printStackTrace();
}
}
}
答案 0 :(得分:0)
我认为您使用
循环遍历列int numColumns = rs.getMetaData().getColumnCount();
for ( int i = 1 ; i <= numColumns ; i++ ) {
...
而是尝试使用while循环
while (rs.next()) {
...
因为你需要索引,所以包含一个局部变量int i,你只需要在每个while循环之后递增