Я работаю над проектом базы данных с Java и MYSQL. Я могу подключить базу данных от Netbeans, и я могу вставить в нее данные. Но я должен достигнуть своих данных и выбрать SQL-заявление не работает.Я могу вставить данные в свою базу данных с помощью Java, но не могу выбрать и показать его
public int TCSorgu(String sifre) {
int deger=100;
baglan("SELECT count(*) FROM PERSONEL WHERE P_TC=?;");
addPS(1, sifre);
r = calistir();
try {
r.next();
deger = r.getInt("count(*)");
System.out.println(deger);
} catch (SQLException ex) {
Logger.getLogger(DAO_sorgu.class.getName()).log(Level.SEVERE, null, ex);
}
baglantiyiKes();
if(deger==1)
return 4;
else
return 2;
}
Это мой код, где я пытаюсь «выбрать» из базы данных. Я могу получить данные от Mysql, поэтому нет проблем с вставкой. Однако «COUNT (*)» часть дает 0, как результат, когда я запускаю тот же запрос в MYSQL она возвращает 1.
public void addPS(int index, String s){
//System.out.println(index+s+"\n");
if(ps != null){
try {
ps.setString(index, s);
} catch (SQLException ex) {
Logger.getLogger(DAO.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
public ResultSet calistir(){
try {
rs = ps.executeQuery();
} catch (SQLException ex) {
Logger.getLogger(DAO.class.getName()).log(Level.SEVERE, null, ex);
}
return rs;
//ps = null;
}
public synchronized void baglantiyiKes() {
try {
if (con != null) {
con.close();
}
} catch (Exception e) {
System.err.println("baglantiyi kes hatasi : " + e);
}
}
Это мои вспомогательные методы. Я не могу найти проблему.
Не полагайтесь на имя столбца, имеющее воинственное имя 'count (*)'. Вместо этого переименуйте что-нибудь вдоль строки 'SELECT count (*) AS cnt FROM PERSONEL WHERE P_TC =?', А затем используйте 'r.getInt (" cnt ")'. И точка с запятой в конце инструкции не требуется. – Tiny
Что делает 'baglan()' do? – articuno