Datenbank - Entrag ändern, löschen



  • Hallo

    Wenn ich einen DB Eintrag ändern oder löschen möchte, dann kommt eine Fehölermeldung di da sagt "invalid cursor name". Wenn ich einfach Datensätze hinzufüge klappt es problemlos. In den Beispielen in der FAQ oder anderen Beiträgen stand auch nichts weiter dazu. Was ist falsch an dem Quellcode?

    CString sODBCName = "DSN=XX2;UID=XX";
            CDatabase dbnumber;
            CNumber_Tbl number(&dbnumber); 
    
                            dbnumber.OpenEx(sODBCName, CDatabase::noOdbcDialog);
                if(dbnumber.IsOpen())
                {
                    string strselect = "Select EQ,AL,A_T,TI,TE from Tabelle1 where AL = '123'";
                    number.Open(CRecordset::snapshot, strselect.c_str());
    
                        //number.Edit();
                    number.Delete();
    
                    number.Close();     
                }
                dbnumber.Close();
    


  • Caution: The recordset must be updatable and there must be a valid record current in the recordset when you call Delete;



  • Das bringt mich nicht direkt weiter.



  • Ich habe eine andere Möglichkeit gefunden. Per ExecuteSQL geht es immerhin.

    dbnumber.OpenEx(sODBCName, CDatabase::noOdbcDialog);
    
            if(dbnumber.IsOpen())
            {
                 string strselect = "delete from Tabelle1 where AL= '12'";
                 dbnumber.ExecuteSQL(strselect.c_str());                
                }
                dbnumber.Close();
    

Anmelden zum Antworten