日期:2014-05-19  浏览次数:20718 次

mysql执行查询后ResultSet返回值缺少
test_select 这个表的数据有多条,但是执行代码却只有第一条这个却返回,第二行返回了三个不知道代表什么的数字,请大牛帮看看,感激不尽。
测试代码如下:
public static void main(String[] args) {
String sql = "select * from test_select order by id asc";
excuteSQL(sql);
}

private static void excuteSQL(String sql) {
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "root";

Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, user, password);
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery(sql);
int i=0;
int count = rs.getMetaData().getColumnCount();
while (rs.next()) {
if(i==count){
System.out.println();
}
if(i<count){
++i;
System.out.print(rs.getMetaData().getColumnName(i)+"="+rs.getString(rs.getMetaData().getColumnName(i))+" ");
}else{
i=1;
System.out.print(rs.getMetaData().getColumnName(i)+"="+rs.getString(rs.getMetaData().getColumnName(i))+" ");
}

}
} catch (Exception ee) {
ee.printStackTrace();
}finally{
try {
if(rs!=null){
rs.close();
}
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
} catch (SQLException e) {
System.out.println("这里需要记录log");
}
}

}

------解决方案--------------------
test_select的第二条数据和“第二行返回了三个不知道代表什么的数字”三个数字贴出来