Variable in String einbauen



  • Hallo,

    meine Frage an sich ist wohl eher einfach.

    ich will nur eine variable in einen string einbauen...wie geht das???

    habs mit folgendem schon probiert:

    "Select......WHERE Servername='"+m_Variable+"'"

    lg chris



  • CString strSQL;
    strSQL = SELECT * FROM Tabellenname WHERE name = \"";
    strSQL = strSQL + strMeinName;
    strSQL = strSQL + "\";";
    

    Esco



  • oder eben direkt in einer zeile:

    strSQL = "SELECT * FROM BENUTZER WHERE BENUTZERNAME = \"" + strBenutzerName + "\" AND PASSWORT = \"" + strPasswort + "\";";
    

    Esco



  • Kleiner Hinweis zu einem Problem das dir so passieren kann, so wie es aussieht machst du einen Recset mit ner SQL-Query auf. Mach lieber nur einen Filter über

    deinSet->m_strFilter
    

    Wie in folgendem Beispiel: (das Format kannst auch in deinem Fall verwenden)

    m_pSet->m_strFilter.Format(_T("%s AND [%s] %s %s "), Filter, m_sSearchBy, m_sResult, m_sSuchen);
    


  • Esco schrieb:

    CString strSQL;
    strSQL = SELECT * FROM Tabellenname WHERE name = \"";
    strSQL = strSQL + strMeinName;
    strSQL = strSQL + "\";";
    

    Esco

    Das ist nicht gut. Man schreibt sowas eher wie folgt

    CString strSQL = "SELECT * FROM Tabellenname WHERE name = \"";
    strSQL += strMeinName;
    strSQL += "\";";
    

    Hier wird zum einen der ctor genutzt und zum anderen keine unnötigen temporären Objekte erzeugt.



  • was bringt hier der ctor? ich deklariere meine variablen immer am funktionsanfang, die zuweisung erfolgt erst spaeter (especially in diesem fall!). ob die temporaeren objekte jetzt einen speicherueberlauf produzieren?!

    Esco



  • oke vielen danke, ich werde es gleich mal ausprobieren


Anmelden zum Antworten