siDDis Skrevet 8. april 2006 Skrevet 8. april 2006 ResultSet rs = stmt.executeQuery( "SELECT date, time_moment " + "FROM wdata " + "WHERE date = '"+date+"' " + "AND time_moment = '"+time_moment+"'" ); // If ResultSet is empty then its not in the database // and it is safe to add the values. rsEmpty = rs.wasNull(); System.out.println(rs.wasNull()) Saken er at det er ingen data i tabellen. Då burde den metoden returnere true, men det skjer ikkje? Er det noko eg misforstår?
elminzter Skrevet 9. april 2006 Skrevet 9. april 2006 (endret) wasNull() sjekker om det siste elementet fra ResultSet'et var null, altså om det faktisk stod "NULL" i sql-databasen....så for at den skal returnere true så må det stå nettopp "NULL" i databasen bruk heller rs.next() for å sjekke om det er innhold i databasen... ((sånn bare for sikkerhets skyld om du ikke kjenner til det): rs.next() returnerer true om d er flere linjer i resultset/false hvis det ikke er det. altså om resultsetet er tomt, så vil rs.next() gi false ) Endret 9. april 2006 av elminzter
siDDis Skrevet 9. april 2006 Forfatter Skrevet 9. april 2006 Det stemmer nok som du seier, eg lurte på om det var ein bug i databasen eller wasNull() metoden. rs.next var jo like greit å benytte seg av sidan det eg henta var tomt uansett. Løsninga mi blei sånn. if (!rs.next() || (rs.getString(2) == "'"+date+"'" && rs.getString(3) == "'"+time_moment+"'"))
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå