Variableninhalt in Datenbank schreiben



  • Hallo,

    ich habe folgendes Problem. Ich lese Daten aus einer EditBox aus und möchte diese per Klick auf den OK-Button in eine SQL-Datenbank speichern. Habe schon diesen Befehl gefunden, nur leider ist es mir bisher nur gelungen einen Fest vorgegebenen String in die Datenbank zu schreiben

    SQLPrepare(hstmt, (SQLCHAR *) "INSERT INTO professoren (Name) VALUES (&prof)",SQL_NTS);
    SQLExecute(hstmt);
    

    Leider funktioniert es so nicht ganz.
    Meine frage ist jetzt, wie kriege ich es hin, dass er den Variableninhalt in die Datenbank schreibt und nicht den Variablennamen selbst.

    Danke schonmal für eure Hilfe.

    Mfg Hoffyy



  • setze den sqlquery als string zusammen und schreibe ihn in die datenbank.
    "INSERT INTO professoren (Name) VALUES (&prof)" das ist ja ein string.
    woher soll dieser string wissen das &prof ein variable ist.



  • Hallo,

    habe schon versucht ihn zusammenzusetzen. Das hat auch soweit geklappt. Das Problem ist jetzt nur, dass das zweite Argument von SQLPrepare() jetzt einen falschen Typ hat. char[...] anstatt unsigned char. Also entweder stelle ich mich etwas blöd an, oder ich weiss auch nicht. Ich hoffe mir kann noch jemand helfen.

    Hatte mir das in etwa so vorgestellt:

    SQLPrepare(hstmt, (SQLCHAR *) stringVar,SQL_NTS);
    

    oder auch

    SQLPrepare(hstmt, (SQLCHAR *) &stringVar,SQL_NTS);
    

    Funktioniert irgendwie beides nicht.

    Oder hat jemand noch eine ganz andere Idee wie das geht.



  • So, habe es selbst rausgefunden. Wenn mans weiss ganz einfach. Und hier die Lösung, damit andere die das Prob haben nich mehr suchen müssen:

    SQLPrepare(hstmt, (SQLCHAR *) "INSERT INTO professoren (Name) VALUES (?)", SQL_NTS);
    SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT, SQL_C_DEFAULT, SQL_CHAR, 0, 0, &text, 0, 0);
    SQLExecute(hstmt);
    

    Und in text steht einfach, das zeug aus der Edit Box drin.

    Damit kann das Thema geclosed werden...


Anmelden zum Antworten