Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

INSERT INTO tablename VALUES(......) mit Autowert

Empfohlene Antworten

Veröffentlicht

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

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

stmtBuch.executeUpdate (....)

das ist java. und der will ein sql-string. um dann in die DB zu schreiben. ich probiers mal. danke schonmal!

bigredeyes

test abgeschlossen! funzt wunderbar! ich geb dir 'n virtuelles bier aus! aber erst nach der arbeit!

thx

bigredeyes

  • 2 Jahre später...

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....

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.

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.

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

Jo wie gesagt wenn man die Feldnamen exklusive des Autowert Feldes mit übergibt, dann gehts .. naja, eine Variable mehr in der Config Datei :rolleyes:

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

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.