しばらくの間、さまざまなものを検索して試してみましたが、答えが見つかりませんでした。Eclipse から JDBC を使用して SQL に接続しようとしています。データベースで文字列を選択する必要があるときに問題が発生します。私が使用する場合:
Select name from data where title = 'mr';
それは端末/コマンドラインで動作しますが、使用する場所でEclipseを使用しようとすると
statement sp = connection.createstatement();
resultset rs = sp.executequery("select name from data where title = '" + "mr" + "'");
端末入力が行われている間は何も与えられません。私は日食で何を間違えましたか? ありがとう
コードの一部を紹介します。申し訳ありませんが、少し面倒です。さまざまなことを試しています。
private boolean loginChecker(String cid, String password) throws SQLException{
boolean check = false;
PreparedStatement pstatment = null;
Statement stmt = null;
//String query = "SELECT 'cat' FROM customer";
String query = "select '"+cid+"' from customer where password = '"+password+"'";
try {
System.out.println("in try......");
//stmt = con.createStatement();
//ResultSet rs = stmt.executeQuery(query);
PreparedStatement prepStmt = con.prepareStatement(query);
ResultSet rs = prepStmt.executeQuery();
//System.out.print(rs.getString("cid"));
while(rs.next()){
check = true;
System.out.print(rs.getString("cid"));
}
} catch (SQLException e ) {
e.printStackTrace();
} finally {
if (stmt != null) {
//stmt.close();
}
}
return check;
}
2 回目の単純なクエリの試行:
public List<Object> showTable() {
List<Object> result = new ArrayList<Object>();
String name = "bob";
try
{
PreparedStatement preStatement = con.prepareStatement("select total from test where name = ?");
preStatement.setString(1, name);
ResultSet rs1 = preStatement.executeQuery();
while(rs1.next()){
System.out.println("there");
System.out.println(rs1.getInt("total"));
}
}
catch (SQLException ex)
{
System.out.print("Message: " + ex.getMessage());
}
return result;
}