bigredeyes Geschrieben 11. Juli 2002 Teilen Geschrieben 11. Juli 2002 soderlet! ich hoppel da gerade über ne access db und will da mit sql-statements ein neuen datensatz anlegen. nu will er das natürlich nicht. wäre ja auch zu schön.... das problem ist, dass ein wert in der datenbank ein autowert ist. was muss man denn da dann in die VALUES reinschreiben? eigentlich ja nix, aber ix is bissl wenig...... die tabelle hat folgende typen: int, int, string, int, datum, time, AUTOWERT, int so weit bin ich schon: stmtBuch.executeUpdate("insert into Buchung values(100,100,'tick',100, null,'tick', -> AUTOWERT <- ,100)"); kriege pro versuch mehr oder minder viel sagende fehlermeldungen..... also, ich mach jetzt mittag und hoffe, dass ich nachher schlauer bin.... thx @ all bigredeyes Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tauron Geschrieben 11. Juli 2002 Teilen Geschrieben 11. Juli 2002 versuchs mal mit dem sql String: Insert into Buchung (feld1, feld2, feld3, feld4, feld5, feld6, feld8) values(100,100,'tick',100, null,null,100); wenn Du ihm nämlich die Namen der Felder angibst die Du füllen möchtest, kannst Du das Autowert-Feld (in dem Beispiel feld7) weglassen. Er versucht dann auch nicht was reinzuschreiben (wo ja warscheinlich die Fehlermeldungen herkommen) und erhöht es automatisch. hoffe das hilft Dir! btw: woher kommt denn der Befehl stmtBuch.executeUpdate ? kannte den nicht (benutze aber auch noch Access97) gruß Christian Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigredeyes Geschrieben 11. Juli 2002 Autor Teilen Geschrieben 11. Juli 2002 stmtBuch.executeUpdate (....) das ist java. und der will ein sql-string. um dann in die DB zu schreiben. ich probiers mal. danke schonmal! bigredeyes Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigredeyes Geschrieben 11. Juli 2002 Autor Teilen Geschrieben 11. Juli 2002 test abgeschlossen! funzt wunderbar! ich geb dir 'n virtuelles bier aus! aber erst nach der arbeit! thx bigredeyes Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dgr243 Geschrieben 2. August 2004 Teilen Geschrieben 2. August 2004 Hmm muss das hier nochmal aufgreifen ... Und zwar bastele ich mir mein SQL Statement mit Perl zusammen. Da ich dieses Perl Script aber für diversere Quelldatentabellen verwenden möchte, kann ich die Feldnamen nicht angeben (bzw. nur mit erhöhtem Aufwand). Deshalb die Frage nochmal: Wie sage ich Access, dass der übergebene Wert ein Autowert ist und Access sich selbst das passende raussuchen soll. Die Umgebung: Access 2000 verfügbar per ODBC Tabellenbeispiel: ID(Autowert), Datum(Text), Uhrzeit(Datum/Uhrzeit), Wert1 Beispielstatement: insert into table values (??, '1.Januar.2004', '10:00', 12,4) An den ragezeichen möchte ich gerne sozusagen nen Platzhalter haben. Versucht hab ich bereit hier NULL zu übergeben -> Geht nicht, weil Primärschlüssel Nen Leerstring (' ') geht nicht, bricht mit Syntaxfehler ab Es muss doch da ne Möglichkeit geben.... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 2. August 2004 Teilen Geschrieben 2. August 2004 Wie sage ich Access, dass der übergebene Wert ein Autowert ist und Access sich selbst das passende raussuchen soll. Unter MYSQL funktioniert es mit NULL, geht bei dir aber ja nicht. Wenn man bei MYSQL anstelle von NULL einen Wert angibt wird dieser auch eingetragen und kein Autoinc-Wert genommen. Da bei Access ja alles anders is probier es doch einfach mal indem du als Wert 0 oder 1 oder so vorgibst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
escito83 Geschrieben 3. August 2004 Teilen Geschrieben 3. August 2004 wie wäre es denn, wenn du die id doch selber einträgst. denke mal, dass sie fortlaufend automatisch vergeben wird, also trage dort einfach den höchsten id wert + 1 ein: insert into table values ((select max(id)+1 from table), '1.Januar.2004', '10:00', 12,4) also unter oracle klappt es einwandfrei. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dgr243 Geschrieben 4. August 2004 Teilen Geschrieben 4. August 2004 Habs jetzt so gelöst, dass ich die Feldnamen doch mit übergebe. Dann fragt er gar nicht mehr nach dem Wert für ID, wenn ID nicht übergeben wird.... Danke trotzdem für eure Mühen! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mme Geschrieben 4. August 2004 Teilen Geschrieben 4. August 2004 Das geht nicht.... In Autowert kann unter Access nichts eingetragen werden. Und solche Beispiele wie "Unter Oracle...." sind sinnlos weil es in Oracle gar keinen Autowert gibt.... Grüße mme Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dgr243 Geschrieben 4. August 2004 Teilen Geschrieben 4. August 2004 Jo wie gesagt wenn man die Feldnamen exklusive des Autowert Feldes mit übergibt, dann gehts .. naja, eine Variable mehr in der Config Datei Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mme Geschrieben 5. August 2004 Teilen Geschrieben 5. August 2004 Jo wie gesagt wenn man die Feldnamen exklusive des Autowert Feldes mit übergibt, dann gehts .. naja, eine Variable mehr in der Config Datei Wenn du die Autowertspalte nicht mit angiebst versuchst du ja auch nicht in das Autowertfeld was reinzuschreiben... Natürlich geht es so, sonst währe es ja unmöglich in Tabellen mit Autowert was rein zuschreiben.... Grüße mme Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.