Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Phil_GDM

Alter Hase

  • »Phil_GDM« ist der Autor dieses Themas

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

1

15.08.2005, 18:33

JDBC+Access+AutoWert = nichts funktioniert

Die erste Spalte der Tabelle ist ein Autowert.
ich versuche auf folgende Weise, einen Eingrag in einer Access Datenbank zu speichern (übrigens das ist Java nicht C++)

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    String sql = "INSERT INTO paragraphs_template VALUES(null,?,?,?,?)";
    try
    {
      PreparedStatement stm = connection.prepareStatement(sql);
      stm.setBoolean(1, p.getNumbered());
      stm.setString(2, p.getName());
      stm.setString(3, p.getHeading());
      stm.setString(4,  p.getText());
      stm.executeUpdate();
    }
    catch(SQLException e)
    {
      System.out.println("ERROR [InsertParagraphT]: " + e);
      throw e;
    }


Da gibt er mir immer diese Fehlermeldung:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Sie wollten den Null-Wert einer Variablen zuweisen, die nicht den Datentyp Variant hat


Habs dann auch noch auf die folgende Weise probiert:

C-/C++-Quelltext

1
String sql = "INSERT INTO paragraphs_template (numbered, name, heading, text) VALUES(?,?,?,?)";


Da bekomme ich jedoch eine Meldung, die sagt dass mein INSERT-Statement einen Syntaxfehler hat.

Hab auch schon etliche andere Sachen probiert 0 anstatt null ...

Weiß jemand von euch, was ich falsch mache?

mfg Philipp

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

15.08.2005, 19:45

Gib mal bitte Deine genaue Definition der Tabelle "paragraphs_template" an...

Phil_GDM

Alter Hase

  • »Phil_GDM« ist der Autor dieses Themas

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

3

15.08.2005, 19:49

ptid : Autonumber
numbered : Yes/No
name : Text
heading : Text
text : Text

mfg Philipp

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

15.08.2005, 21:00

Ich meine eigentlich ein CREATE-Statement, das die Tabelle beschreibt, aber das passt schon.
Was sind das für Fragezeichen? Ich habe mit Access selbst noch nichts gemacht, aber so Fragezeichen habe ich bei noch keinem "SQL-Ableger" gesehen...
Den Autowert setzt Du natürlich nicht explizit, das übernimmt ja schließlich die Datenbank. Hast Du's schonmal mit irgendwelchen Dummy-Werten für die weiteren vier Felder probiert? Sonst "inserte" doch einfach mal so, ohne irgendwelche Werte zu setzen (sofern die Felder denn überhaupt NULL erlauben).

Phil_GDM

Alter Hase

  • »Phil_GDM« ist der Autor dieses Themas

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

5

15.08.2005, 21:23

Ich bin endlich dahinter gekommen was schuld war.
Der Spaltenname text war nicht gerade glücklich gewählt, hab diesen geändert und siehe da es funktioniert 8).

mfg Philipp

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

6

15.08.2005, 21:49

Oh ja, sowelche Fehler kommen mir bekannt vor ;)

Werbeanzeige