public CachedRowSet getQuery(){
Connection conn = null;
Statement stmt;
ResultSet rs;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/test", "test", "test");
stmt = conn.createStatement();
rs = stmt.executeQuery("select org_name as y_name from test");
CachedRowSet crs = new CachedRowSetImpl();
crs.populate(rs);
crs.beforeFirst();
while(crs.next()) {
System.out.print(crs.getString("y_name"));
}
return crs;
} catch(Exception e) {
e.printStackTrace();
return null;
} finally {
}
}出现异常如下:
java.sql.SQLException: 無効な列名
at com.sun.rowset.CachedRowSetImpl.getColIdxByName(Unknown Source)
at com.sun.rowset.CachedRowSetImpl.getString(Unknown Source)
at com.arbj.test.Test.getQuery(Test.java:160)
at com.arbj.test.Test.main(Test.java:79)
是怎么回事啊,SQL直接写列名没问题,只要想把列名指定为其他的就出现这样的问题,怎么回事啊?
Connection conn = null;
Statement stmt;
ResultSet rs;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/test", "test", "test");
stmt = conn.createStatement();
rs = stmt.executeQuery("select org_name as y_name from test");
CachedRowSet crs = new CachedRowSetImpl();
crs.populate(rs);
crs.beforeFirst();
while(crs.next()) {
System.out.print(crs.getString("y_name"));
}
return crs;
} catch(Exception e) {
e.printStackTrace();
return null;
} finally {
}
}出现异常如下:
java.sql.SQLException: 無効な列名
at com.sun.rowset.CachedRowSetImpl.getColIdxByName(Unknown Source)
at com.sun.rowset.CachedRowSetImpl.getString(Unknown Source)
at com.arbj.test.Test.getQuery(Test.java:160)
at com.arbj.test.Test.main(Test.java:79)
是怎么回事啊,SQL直接写列名没问题,只要想把列名指定为其他的就出现这样的问题,怎么回事啊?
另注意关闭连接
rs.close();
stmt.close();
conn.close();