Jag skall uppdatera några poser i en databas med ett javaprogram, Klart du inte ska ignorera felmeddelandet. Lite kod vore ju trevligt så man ser hur du går tillväga. Ok här är min funktion för att lägga till en post i en tabell: klippt och klistrat från api docsen för java.sql.Statement: Och se till att inte stänga dina connections och statements i samma try sats som du exekverar din fråga i...gör detta istället i ett finally block. Annars kan det sluta med att du har massor av connections som är öppna och att din applikation inte längre fungerar. För om din fråga kastar ett exception så kommer du ju aldrig att komma ner till den kod som stänger connection och statement.java.sql.SQLException?
uppdateringen går bra men ändå genreras ett SQLexception:
java.sql.SQLException: No ResultSet was produced.
Varför detta, måste man skapa ett resulset, det använder man ju inte när man uppdaterar eller insertar i databasen?
Skall jag ignorera detta felmeddelande?Sv: java.sql.SQLException?
Sv: java.sql.SQLException?
try {
String driverName="sun.jdbc.odbc.JdbcOdbcDriver";
String dbUrl="jdbc:odbc:" + this.dsn;
Class.forName(driverName);
Connection connection = DriverManager.getConnection(dbUrl, this.login, this.password);
Statement stat = connection.createStatement();
String sql = "INSERT INTO VALID(FK, RESULT, CHECK_DATE, SOURCE) VALUES (" + pk + ", '" + flag + "', '" + date + "', '" + source + "')";
stat.executeQuery(sql);
stat.close();
connection.close();
return "OK";
}
catch(Exception e){
return "error: " + e;
}
Som sagt, posten lägges till precis som den ska men "error: " returneras istället för "OK" vilket jag tycker borde returneras om operatonen har lyckats?
Sv: java.sql.SQLException?
"int executeUpdate(String sql)
Executes the given SQL statement, which may be an INSERT, UPDATE, or DELETE statement or an SQL statement that returns nothing, such as an SQL DDL statement.
"
"ResultSet executeQuery(String sql)
Executes the given SQL statement, which returns a single ResultSet object."
..dvs, du använder fel metod och därför klagar den.Sv: java.sql.SQLException?
/Nils