Announcement

Collapse
No announcement yet.

access Probleme mit Autowert(inkrement)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • access Probleme mit Autowert(inkrement)

    Ich möchte von einem Servlet in eine Access-DB-Tabelle schreiben in der das Attribut für den Primärschlüssel automatisch erzeugt wird.

    Mein Problem: Access verlang keinen Eintrag für den Primäschlüssel(da automatisch erzeugt) und das Servlet will nur in die Tabelle schreiben, wenn ich alle Attribute angebe.

    Alles funktioniert, wenn ich den Autowert im Access deaktiviere. Ich möchte jedoch den Autowert behalten, jedoch fehlt mir dazu das nötike know how.

    Vielen Dank für eure Tip's
    Matthias

    Der Code-Schnipsel:

    stmtUser.executeUpdate(

    "INSERT INTO test2 "

    + "VALUES(1,'" <<== erster Wert wäre Autowert

    + desc.getParameter("typ")

    + "', '"

    + desc.getParameter("user")

    + "','"

    + desc.getParameter("admin")

    + "','"

    + desc.getParameter("time")

    + "','"

    + desc.getParameter("date")

    + "','"

    + desc.getParameter("correction")

    + "','"

    + desc.getParameter("note")

    + "')");

  • #2
    Hi Matthias,

    um einen Autowert einzufügen einfach:
    <code>
    INSERT INTO tabelle VALUES(NULL,Werteliste....)
    </code>
    an die Datenbank senden. Um einen AutoWert einfügen zu können muß man einen NULL Wert für dieses Feld in der Werteliste angeben.

    gruß
    Hendri

    Comment


    • #3
      Hi Hendrik

      stmtUser.executeUpdate("INSERT INTO test3 VALUES(NULL) ");

      Hab ich ausprobiert, leider wird eine Exception geworfen:

      java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Sie wollten den Null-Wert einer Variablen zuweisen, die nicht den Datentyp Variant hat.

      Auch mit anderem Syntax werden Exception geworfen.

      Gruss Matthia

      Comment


      • #4
        Hast Du es auch direkt ausprobiert, in dem Du INSERT INTO table (FeldListe ohne Autowert-Feld) VALUES (Werteliste ohne Autowert) gesendet hast

        Comment


        • #5
          Hi Hendrik

          Mit

          stmtUser.executeUpdate("INSERT INTO test3 " + "VALUES('7')");

          wird ein Eintrag in test3 erzeugt (kein Automatischer Wert)

          stmtUser.executeUpdate("INSERT INTO test4 " + "VALUES(NULL)");

          oder

          stmtUser.executeUpdate("INSERT INTO test4 " + "VALUES('NULL')");

          werfen wie gesagt eine Exception.

          Grüsse Matthia

          Comment


          • #6
            INSERT INTO table (FeldListe ohne Autowert-Feld) VALUES (....

            Super, hat geklappt, danke vielmals!

            Grüsse Matthia

            Comment

            Working...
            X