Wieso fügt er nicht in DB ein?



  • Das ist der Code:

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    Query1->Close();
    Query1->SQL->Clear();
    Query1->SQL->Add("select * from T_Erg");
    Query1->Open();
    
    Query1->FieldByName("T_S1")->AsInteger = StrToInt(Edit1->Text);
    Query1->FieldByName("T_S2")->AsInteger = StrToInt(Edit2->Text);
    Query1->Post();
    

    aber er sagt das Daten weder iom Editier noch im Einfügemodus sind!

    Das bedeutet? und wie kann ich es beheben??



  • RequestLive steht auf true?
    Außerdem fehlt da noch Query1->Edit().
    Dann sollte man vorsichtshalber prüfen, ob in den Edits tatsächlich ein konvertierbarer String steht und ob die Query tatsächlich in den Editmodus gesetzt werden konnte.



  • Ahh das Edit() hat gefehlt... danke schön! Kann sein das ich dann aber nochmal vorbeischaue!



  • Wie gesagt, bin nochmal da:

    Also er schreibt ja schonmal was....nun will ich aber nicht das er immer den Datensatz überschreibt....sondern immer einen neuen erzeugt:

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    try
    {
    ID1 = StrToInt(DBEdit5->Text);
    ID2 = StrToInt(DBEdit6->Text);
    if (ID1!=ID2)
    {
     Query1->Close();
     Query1->SQL->Clear();
    
     Query1->SQL->Add("select * from T_Erg");
     Query1->Open();
     Query1->Edit();
     Query1->FieldByName("T_S1")->AsInteger = StrToInt(Edit1->Text);
     Query1->FieldByName("T_S2")->AsInteger = StrToInt(Edit2->Text);
     Query1->FieldByName("ID_S1")->AsInteger = StrToInt(DBEdit5->Text);
     Query1->FieldByName("ID_S2")->AsInteger = StrToInt(DBEdit6->Text);
    
     Query1->Post();
     }
    else
    {
    ShowMessage ("gleiche Spieler können nicht gegeineinander Spielen");
    }
    }
    catch(...)
    {
     ShowMessage ("Keine gültige Toranzahl");
    }
    }
    

    hier ändert er in der Tabelle T_Erg immer nur den ersten!
    T_Erg hat keinen Primärschlüssel, nur die daran verknüpften Tabellen !

    Kann mir jemand helfen?



  • Append() oder Insert() anstatt Edit()... Hätte aber auch ein kurzer Blick in die Hilfe gezeigt.



  • Joe_M. schrieb:

    Append() oder Insert() anstatt Edit()... Hätte aber auch ein kurzer Blick in die Hilfe gezeigt.

    👍

    ➡ 🙄 🙄


Anmelden zum Antworten