kostenloser Webspace werbefrei: lima-city


Insert Into Error

lima-cityForumProgrammiersprachenDelphi & Pascal

  1. Autor dieses Themas

    jacer

    Kostenloser Webspace von jacer

    jacer hat kostenlosen Webspace.

    So ihr seid mal wieder meine letzte Hoffnung weil ich so ziemlich am Ende bin mit meinem Latein.
    Ich programmiere zur Zeit eine kleine Software in Delphi. Dabei verwende ich mehrere Paradox 7 Datenbanken.
    Für den Zugriff habe ich jeweils eine Tabelle, ein Query und ein DataSource.

    Nun möchte ich in eine der Datenbanken über einen Insert Into-Befehl einen neuen Datensatz hinzufügen.
    Die Values bestehen dabei aus zuvor definierten Variablen.
    Soweit so gut. Aber wenn ich den SQL Befehl dann ausführe erhalte ich folgende Fehlermeldung:
    "Value fields required".

    Folgendermaßen ist der Befehl aufgebaut:

    Query.SQL.Text := 'INSERT INTO Datenbank.db (Data1,Data2,...) VALUES(:Data1, :Data2,...);
    
    Query.ParambyName('Data1').AsString := vData1;
    ...


    Ich weiß nicht woher der Fehler kommen soll.
    Meine einzige Vermutung war die ID die ich nicht in die Values integriert habe, da diese AutoIncrement ist.
    Füge ich sie allerdings in den Insert Befehl ein, erhalte ich folgende Fehlermeldung:
    "INSERT and UPDATE operations are not hilfe/support" title="Support">supported on autoincrement field type."

    Das Feld ID ist das einzige was in der Datenbank als required markiert wurde.
    Alle anderen Felder sind Strings und nicht zwingend erforderlich.

    Ich hoffe ihr habt einen Lösungsansatz für mich :slant:

    gruß
    jacer
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. t*****b

    jacer schrieb:
    Aber wenn ich den SQL Befehl dann ausführe erhalte ich folgende Fehlermeldung:
    "Value fields required".
    ...
    Das Feld ID ist das einzige was in der Datenbank als required markiert wurde.
    Alle anderen Felder sind Strings und nicht zwingend erforderlich.


    Du hast da einen Denkfehler mit dem SQL nicht zurecht kommt. Auf der einen Seite sagst du, das Feld verlangt eine Angabe (require) beim Insert und Update, auf der anderen Seite wird diese Angabe selber durch SQL geliefert (auto_increment) und nicht durch den Query. Bei auto_increment kann man aber keine Werte selber festlegen, also per insert oder update angeben, was aber von require verlangt wird. Dadurch fehlt das im Query und dieser Fehler kommt zustande, oder du gibst eine ID mit an und es käme ein anderer Fehler und zwar, dass man Felder mit auto_increment nicht ändern kann. Du musst folglich eines von beiden entfernen. Da der Wert bei Feldern, die auf auto_increment gestellt sind automatich gesetzt werden, kannst du hier das require ohne Probleme entfernen. Ich hoffe, ich habe das einigermaßen verständlich erklärt :)
  4. Autor dieses Themas

    jacer

    Kostenloser Webspace von jacer

    jacer hat kostenlosen Webspace.

    trueweb schrieb:
    jacer schrieb:
    Aber wenn ich den SQL Befehl dann ausführe erhalte ich folgende Fehlermeldung:
    "Value fields required".
    ...
    Das Feld ID ist das einzige was in der Datenbank als required markiert wurde.
    Alle anderen Felder sind Strings und nicht zwingend erforderlich.


    Du hast da einen Denkfehler mit dem SQL nicht zurecht kommt. Auf der einen Seite sagst du, das Feld verlangt eine Angabe (require) beim Insert und Update, auf der anderen Seite wird diese Angabe selber durch SQL geliefert (auto_increment) und nicht durch den Query. Bei auto_increment kann man aber keine Werte selber festlegen, also per insert oder update angeben, was aber von require verlangt wird. Dadurch fehlt das im Query und dieser Fehler kommt zustande, oder du gibst eine ID mit an und es käme ein anderer Fehler und zwar, dass man Felder mit auto_increment nicht ändern kann. Du musst folglich eines von beiden entfernen. Da der Wert bei Feldern, die auf auto_increment gestellt sind automatich gesetzt werden, kannst du hier das require ohne Probleme entfernen. Ich hoffe, ich habe das einigermaßen verständlich erklärt :)


    Hat funktioniert !
    Habe das require des ID-Feldes entfernt und der Fehler war weg.
    Danke für die Hilfe...
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!