public static List<Map<String,Object>> getSelectRoom() {
Statement stmt = null;
ResultSet rs = null;
ResultSetMetaData rsmd = null;
Connection con = null;
List<Map<String,Object>> datas= new ArrayList<Map<String,Object>>();
try {
stmt = getConnection().createStatement();
String query = "select F.ROOMID, F.PRICE, F.ROOMINFO,R.ROOMSTATE FROM FROOM F, ROOM_USER_INFO R WHERE F.ROOMID=R.ROOMID;";
rs = stmt.executeQuery(query);
rsmd = rs.getMetaData();
int count = rsmd.getColumnCount();
String[] colNames = new String[count];
for (int i = 1; i <= count; i++) {
colNames[i-1] = rsmd.getColumnLabel(i);
}
while (rs.next()) {
Map <String,Object> data = new HashMap<String,Object>();
for (int i = 0; i < colNames.length; i++) {
data.put(colNames[i], rs.getObject(colNames[i]));
}
datas.add(data);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (con != null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
System.out.println(datas);
}
return datas;
}*/
ROOMID BEGIN_TIME PRICE USER_ID ROOMSTATE
--------------------------------------- ----------- ----------- ----------- ---------
1 100 0 0 ROOMID PRICE ROOMINFO
--------------------------------------- ----------- ----------
1 100 201
2 200 102我想用内连接查询一个表和另一个表的某个字段的对应显示(第二个表的id字段在第一个表里有对应的条目)
直接在oracle上操作没问题。用jdbc去就有问题jdbc要怎么做才可以啊
Statement stmt = null;
ResultSet rs = null;
ResultSetMetaData rsmd = null;
Connection con = null;
List<Map<String,Object>> datas= new ArrayList<Map<String,Object>>();
try {
stmt = getConnection().createStatement();
String query = "select F.ROOMID, F.PRICE, F.ROOMINFO,R.ROOMSTATE FROM FROOM F, ROOM_USER_INFO R WHERE F.ROOMID=R.ROOMID;";
rs = stmt.executeQuery(query);
rsmd = rs.getMetaData();
int count = rsmd.getColumnCount();
String[] colNames = new String[count];
for (int i = 1; i <= count; i++) {
colNames[i-1] = rsmd.getColumnLabel(i);
}
while (rs.next()) {
Map <String,Object> data = new HashMap<String,Object>();
for (int i = 0; i < colNames.length; i++) {
data.put(colNames[i], rs.getObject(colNames[i]));
}
datas.add(data);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (con != null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
System.out.println(datas);
}
return datas;
}*/
ROOMID BEGIN_TIME PRICE USER_ID ROOMSTATE
--------------------------------------- ----------- ----------- ----------- ---------
1 100 0 0 ROOMID PRICE ROOMINFO
--------------------------------------- ----------- ----------
1 100 201
2 200 102我想用内连接查询一个表和另一个表的某个字段的对应显示(第二个表的id字段在第一个表里有对应的条目)
直接在oracle上操作没问题。用jdbc去就有问题jdbc要怎么做才可以啊
String query = "select F.ROOMID, F.PRICE, F.ROOMINFO,R.ROOMSTATE FROM FROOM F, ROOM_USER_INFO R WHERE F.ROOMID=R.ROOMID";
放jdbc里面就报错能告诉我为什么吗
java.sql.SQLException: ORA-00911: invalid character at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:304)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:271)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:622)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:111)
at oracle.jdbc.driver.T4CStatement.execute_for_describe(T4CStatement.java:350)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:895)
at oracle.jdbc.driver.T4CStatement.execute_maybe_describe(T4CStatement.java:382)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:985)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1124)
at com.way.DB.DataBaseConnection.getSelectRoom1(DataBaseConnection.java:107)
at com.way.DB.DataBaseConnection.main(DataBaseConnection.java:347)
[]