DateTime in DB einfügen



  • Hi, ich hab ein Problem mit einer DateTime Variable die ich in ein MSSQL2005 SqlDateTime Feld in die Datenbank schreiben möchte.

    Ich habe bereits versucht die Variable auf alle mögliche Weise zu übergeben, bekomme aber entweder den Fehler zurück:

    Syntax Error near .2007.

    oder den:

    out-of-range-exception

    Je nachdem ob ich die DateTime Variable direkt reinschieben will, oder sie vorher in einen String umwandel.

    Hat evtl. mal jemand ein Code-Beispiel wie ich soetwas über einen Commandstring löse ?

    Bei mir sieht es im Moment so aus.

    "INSERT INTO Table (Var1, Var2) VALUES ('" + var1 + "','" + var2 + "')"
    

    Danke schonmal, Elfblood



  • das Datums/Zeit-Format von MSSQL ist meines wissens nach 'yyyy-mm-dd hh:nn:ss' (bei der deutschen MSDE: 'yyyy-dd-mm hh:nn:ss')

    "INSERT INTO Table (Var1, Var2) VALUES ('2007-01-08 10:00:00','2007-02-08 10:00:00')"
    

    falls du mit dem BCB und ADO arbeitest geht das auch einfacher:

    ADOCommand1->ComamndText ="INSERT INTO Table (Var1, Var2) VALUES (:date1,:date2)";
    ADOCommand1->Parameters->ParamByName("date1")->Value = TDateTime(2007,1,8,10,0,0);
    ADOCommand1->Parameters->ParamByName("date1")->Value = TDateTime(2007,2,8,10,0,0);
    ADOCommand1->Execute();
    

    hierbei wird die Formatierung durch die Parameter erzeugt



  • Danke, Funktioniert.

    Blöd das die so seltsame formationen haben wollen ^^


Log in to reply