Я искал и пробовал разные вещи на некоторое время, но не нашел ответа. Я пытаюсь подключиться к sql, используя JDBC из eclipse. У меня возникают проблемы, когда мне нужно выбрать строку в базе данных. Если я использую:SQL-команда из eclipse с использованием JDBC
Select name from data where title = 'mr';
Это работает с терминальной командной строкой/но когда я пытаюсь использовать затмение, где я использую
statement sp = connection.createstatement();
resultset rs = sp.executequery("select name from data where title = '" + "mr" + "'");
Это не дает мне ничего, пока терминал ввод делает. Что я сделал неправильно в затмении? Thanks
Heres часть кода. Извините, его немного грязно, он пробовал разные вещи.
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;
}
Второй попробовать на более простом запросе:
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;
}
Плохая практика использования жестко закодированных литералов для параметров, значение которых изменится. Перейдите в Google о параметризованных запросах JDBC. Проблема, вероятно, не имеет отношения к Eclipse. Это просто IDE для компиляции/отладки вашего приложения. – OldProgrammer
Там может быть много проблем. Вы получаете какие-то исключения? – MadProgrammer
«mr» в вопросе был, например. Фактически это вход от метода. Нет никакого исключения, он просто появляется как false, когда я вызываю rs.next(); – user2185801