# Probleme mit Datenbankeinträge



## Guest (6. Jan 2006)

Hi!

Ich hab in MS-Access eine Datenbank "w02b" mit Tabelle "Lehrer" mit den Feldern "Vorname" und "Nachname" erstellt. Leider bekomm ich immer die Fehlermeldung: " java.sql.SQLException: No ResultSet was produced"
Der Fehler sollte bei Line 37 sein, also  datenmenge = befehl.executeQuery("INSERT INTO lehrer VALUES ('peppi','Steidl')");

Hier der Code:


```
import java.sql.*;

public class CDatenbank {
  public static void main (String args[])  {
    String URL          = "jdbc:odbc:w02b";
    String benutzername = "";
    String passwort     = "";

    // Treiber laden 
    try  {
       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    } 
    catch (Exception e)  {
        System.out.println("JDBC/ODBC-Treiber konnte nicht geladen werden.");
       return;
    }

    // Verbindung zu Datenbank aufbauen
    Statement  befehl     = null;
    Connection verbindung = null;
    try  {
       verbindung = DriverManager.getConnection (
                      "jdbc:odbc:w02b",
                      "",
                      "");
       befehl = verbindung.createStatement();
    } 
    catch (Exception e)  {
       System.err.println("Verbindung zu "+URL+" konnte nicht hergestellt werden");
    }

    // Daten auslesen
    try {
       ResultSet datenmenge;
    
       datenmenge = befehl.executeQuery("SELECT * FROM lehrer");
       datenmenge = befehl.executeQuery("INSERT INTO lehrer VALUES ('peppi','Steidl')");
       verbindung.close();
    }
    catch (Exception e) {
       e.printStackTrace();
    }
  }
}
```

Was mach ich falsch. Könnt ihr mir bitte helfen?


----------



## Roar (6. Jan 2006)

für inserts musst du executeUpdate(), nicht executeQuery() benutzen. insert befehle liefern keine ergebnismenge zurück. query heißt ja auch abfrage, was ein insert nicht ist. :!:


----------



## Guest (6. Jan 2006)

Ok, jetzt bekomm ich aber die Meldung: 

D:\PRP-Projekt\Admineingabe\src\CDatenbank.java:53: incompatible types
found   : int
required: java.sql.ResultSet
       datenmenge = befehl.executeUpdate("INSERT INTO lehrer VALUES (1,'','')");

Woran liegt jetzt das?


----------



## Lim_Dul (6. Jan 2006)

Dann schau dir mal an, was executeUpdate zurückliefert.


----------



## Guest (6. Jan 2006)

Ah, die gibt ja einen int- Wert zurück


----------

