SQL - Insert via Borland C++ Builder



  • @Burkhi - Vielen Dank, nun funktioniert es !

    @123 - In welchen Bücher vom BCB werden vernüftige Beispiele zu SQL gegeben ?
    Ich habe in keinem Buch (Insert, Update, Delete gefunden, wenn dann Select).

    @Joe_M- (Danke für die Hilfe und sehe das bitte nicht als Angriff...aber=)
    Sicherlich verstehe ich das so, allerdings würde ich das so nie in einer SQL-Anweisung schreiben:

    Query3->Close();
      Query3->SQL->Clear();
      Query3->SQL->Add("Insert into dbo.adresse(Nachname,Vorname,Strasse,Ort,PLZ)");
      Query3->SQL->Add("values('"+enachname->Text+"','"+evorname->Text+"','"+estrasse->Text+"','"+eort->Text+"','"+eplz->Text+"')");
      Query3->ExecSQL();
    

    Sondern:

    INSERT INTO Adresse(Name,Vorname,Strasse,Ort,PLZ)
    VALUES('Mustermann','Markus','Musterstrasse 3','Musterdorf','22222');
    


  • Mike_2004 schrieb:

    In welchen Bücher vom BCB werden vernüftige Beispiele zu SQL gegeben?

    SQL hat primär zunächst mal nichts mit dem BCB zu tun und eine Query-Komponente verwendest Du nur, um einen SQL-Befehl (als String) an die DB zu
    senden. Und zu SQL findest Du sicherlich pfundweise Bücher.

    Gruß,

    Alexander


  • Mod

    Hallo

    zB
    C++ Builder Datenbankprogrammiereung ISBN 3-8273-1295-7
    Delphi 6 Datenbankprogrammierung ISBN 3-8273-1785-1
    ...
    ...

    MfG
    Klaus



  • Und damit man die Anführungszeichen nicht immer von Hand tippseln muß, wurde die Funktion QuotedStr() 'erfunden'...



  • Joe_M. schrieb:

    Und damit man die Anführungszeichen nicht immer von Hand tippseln muß, wurde die Funktion QuotedStr() 'erfunden'...

    Naja... wers braucht... 🙄 Ob nun Funktionsaufruf oder Stringaddition, ist doch auch egal...



  • Nun ja, ich finde es übersichtlicher und praktischer QuotedStr zu verwenden. Ich kann auf jeden Fall schneller + QuotedStr(irgendwas) + tippen als + "'" + irgendwas + "'", oder gar + "\"" + irgendwas + "\"". 😉



  • Na fein... einigen wir uns auf die Schublade "Geschmackssache"? 😃



  • deswegen ja: ich finde es 🤡



  • Ich kann ja manchmal meinen Mund nicht halten 😉
    Da AnsiString, im Gegensatz zu String in Pascal, kein Datentyp ist sondern eine Klasse stellt sich für mich die Frage, was ist schneller. In diesem Fall eine String Addition oder die Anwendung von QuotedString wobei die Funktion gerade bei SQL Vorteile bringt, da automatisch vorhandene "'" verdoppelt werden. Wer Interesse hat kann das ja mal mit folgendem kleinen Progämmchen ausprobieren

    int x;
    AnsiString str1, str2;
    
    ListBox1->Items->Add(Now().FormatString("HH:NN:SS"));
    for(x=0; x<5000000; x++)
    {	str1="Hallo Leute";
    	str2=QuotedStr(str1);
    }
    ListBox1->Items->Add(Now().FormatString("HH:NN:SS"));
    for(x=0; x<5000000; x++)
    {	str1="Hallo Leute";
    	str2="'"+str1+"'";
    }
    ListBox1->Items->Add(Now().FormatString("HH:NN:SS"));
    


  • Hmm... komisches Ergebnis irgendwie. Warum? Ich hätte schon gedacht, dass QuotedString viel länger dauert... wenn da auch noch vorhandene " abgefangen werden..


Anmelden zum Antworten