Java 如何从SQL查询打印数组的实际值?
我使用的方法是getTableContent,它从数据库中获取一些值并以字符串数组的形式返回。方法如下:Java 如何从SQL查询打印数组的实际值?,java,Java,我使用的方法是getTableContent,它从数据库中获取一些值并以字符串数组的形式返回。方法如下: public static String[][] getTableContent(Connection con){ ResultSet rs = null; Statement st = null; String [][] data = null; String sql = "select COF_NAME, SUP_ID, PRICE,
public static String[][] getTableContent(Connection con){
ResultSet rs = null;
Statement st = null;
String [][] data = null;
String sql = "select COF_NAME, SUP_ID, PRICE, SALES, TOTAL from COFFEES";
try {
st = myConn.createStatement();
rs = st.executeQuery(sql);
if(rs.last()){
data = new String[rs.getRow()][5];
rs.beforeFirst();
}
int count =0;
while ( rs != null && rs.next() ){
data[count][0] =rs.getString(1);
data[count][1] =rs.getString(2);
data[count][2] =rs.getString(3);
data[count][3] =rs.getString(4);
data[count][4] =rs.getString(5);
}
}
catch (SQLException e) {
e.printStackTrace();
}
return data;
}
我在另一个数组中获取表值并尝试按如下方式打印
String [][] myData = getTableContent(conn);
for ( int i =0; i < myData.length; i++ ){
for ( int j =0; j < myData.length; j++ ){
System.out.print( (myData[j]) + " ");
}
System.out.println();
}
我使用了myData[j]).toString(),但这对我没有帮助。如何改进代码?程序中没有错误 您的代码中有错误。Yiu直接打印的是1-D数组,它打印的是哈希代码,而不是实际的数组内容。我已更正如下:
for ( int i =0; i < myData.length; i++ ){
for ( int j =0; j < myData[i].length; j++ ){
// you were printing the 1-D array, which prints hashcode
System.out.print( (myData[i][j]) + " ");
}
System.out.println();
}
for(int i=0;i
或者尝试以下方法:
String [][] myData = getTableContent(conn);
for (int i =0; i < myData.length; i++){
System.out.println( Arrays.toString(myData[i]));
}
String[][]myData=getTableContent(conn);
对于(int i=0;i
现在我看到了,我更改了代码。我还忘了在getTableContent方法的末尾添加count++。谢谢你的回答。它确实解决了问题,系统不允许我在3分钟内接受回答;-)
String [][] myData = getTableContent(conn);
for (int i =0; i < myData.length; i++){
System.out.println( Arrays.toString(myData[i]));
}