UPDATE FUnktion in BCB



  • Hallo ich muss wieder mal nerven:

    Heute ein updatefunktion, um einfach punkte zu erhöhen
    so gehtz nich:

    Query1->SQL->Add("UPDATE Spieler SET Gesamtpunkte = Gesamtpunkte+1 where Vorname like '" + Edit3->Text +"'");
    

    also der SQL Syntax müsste aber stimmen!

    Fehler ist:
    Fehlender Operator hier:

    Vorname like '" + Edit3->Text +"'"
    


  • Query1->SQL->Add("UPDATE Spieler SET Gesamtpunkte = Gesamtpunkte+1 where Vorname like '" + Edit3->Text +"'");
    

    Weil Add bestimmt kein AnsiString als übergabe werden haben möchte.

    Mach das mal so:

    AnsiString strSQL  = "UPDATE Spieler SET ";
    strSQL  += "Gesamtpunkte = Gesamtpunkte+1 ";
    strSQL  += "WHERE Vorname LIKE'" + Edit3->Text + "'";
    
    Query1->SQL->Add(strSQL.c_str());
    

    Bin mir aber nicht sicher welche Übergabewert Typ diese Funktion erwartet.



  • Schau Dir mal die Funktionen QuotedStr, respektive AnsiQuotedStr an aus den SysUtils an...



  • @BlackEagle: müsste schon so gehen...denn wenn ich ein Programm mache mit nur der Updatefunktion....geht es...

    ich werd morgen mal mehr code posten

    @Joe: was sind das für funktionen....kann grad nich nachsehen..weil ich nich auf Arbeit bin!



  • du kannst auch folgendes nehmen

    Query1->SQL->Add("UPDATE Spieler SET Gesamtpunkte = Gesamtpunkte+1 where Vorname like :Param1");
    Query1->ParamByName("Param1")->AsString = Edit3->Text;
    

Log in to reply