Can not issue data manipulation statements with executeQuery()ソリューション
2075 ワード
MySQLデータベース接続後、表構造作成文を実行します.javaコードは次のとおりです.
エラーメッセージは次のとおりです.
Can not issue data manipulation statements with executeQuery()
デバッグされたのは、create,updateを実行する場合、insertのsql文はstatementのexecute()メソッドを使用すべきであり、statementのexecuteQuery()を使用すると控訴問題が発生するためである.
変更されたjavaコードは次のとおりです.
String driver = "com.mysql.jdbc.Driver"; // mysql
String url = "jdbc:mysql://" + dataSource.getDataSourceIp() + ":" + dataSource.getDataSourcePort() + "/" + dataSource.getDataSourceName()
+ "?characterEncoding=" + dataSource.getCharacterSet(); //
String userName = dataSource.getDataSourceUser();// mysql
String password = dataSource.getDataSourcePwd();// mysql
try {
Class.forName(driver);
Connection con = (Connection) DriverManager.getConnection(url, userName, password);
String s = con.nativeSQL(sql);
System.out.println(s);
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(sql);
while (rs.next()) {
System.out.println(rs.getString(1) + "/t" + rs.getString(2));
}
rs.close();
st.close();
con.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
エラーメッセージは次のとおりです.
Can not issue data manipulation statements with executeQuery()
デバッグされたのは、create,updateを実行する場合、insertのsql文はstatementのexecute()メソッドを使用すべきであり、statementのexecuteQuery()を使用すると控訴問題が発生するためである.
変更されたjavaコードは次のとおりです.
String driver = "com.mysql.jdbc.Driver"; // mysql
String url = "jdbc:mysql://" + dataSource.getDataSourceIp() + ":" + dataSource.getDataSourcePort() + "/" + dataSource.getDataSourceName()+ "?characterEncoding=" + dataSource.getCharacterSet(); //
String userName = dataSource.getDataSourceUser();// mysql
String password = dataSource.getDataSourcePwd();// mysql
try {
Class.forName(driver);
Connection con = (Connection) DriverManager.getConnection(url, userName, password);
String s = con.nativeSQL(sql);
Statement st = con.createStatement();
boolean result = st.execute(sql);
st.close();
con.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}