Requery



  • Hallo!

    Warum geht das nicht?

    // rs ist mein CRecordset
    rs.m_strFilter = "id = 4";  // also: SELECT NAME FROM KUNDE WHERE ID = 4
    rs.Open("SELECT NAME FROM KUNDE");
    
    // hole mir den Recordset
    
    // nun hole ich mir einen anderen Recordset
    rs.m_strFilter = "id = 5"; // also: SELECT NAME FROM KUND WHERE ID = 5
    rs.Requery();
    
    // häää!!! Der Recordset hat sich nicht geändert!!!
    

    warum???

    Wäre um Rat dankbar!

    Gruß Daniela



  • Das sieht ziemlich genau so aus wie das, was ich in der MSDN finde. 😕

    Funktioniert es, wenn du statt dem Requery ein Close und Open machst?
    Und dann habe ich noch eine Funktion gesehen, die du mal ausprobieren kannst, hier ist der Schnipsel:

    // Set the sort order and Requery the recordset
    rsCustSet.m_strSort = "District, Last_Name";
    if( !rsCustSet.CanRestart( ) )
       return;    // Unable to requery
    
    if( !rsCustSet.Requery( ) )
       // Requery failed, so take action
    

    Sonst steht da eigentlich nichts, was für einen Fehler deinerseits spricht. 😞



  • Keine Ahnung, was da los ist! Doktore schon seit 4 Stunden an dieser Sache rum. Selbstverständlich könnte man auch den Recordset wieder schließen, und neu öffnen, aber das ist doch kein eleganter Code mehr!

    HAT NOCH IRGEND JEMAND EINE IDEE?????



  • Ob das elegant ist oder nicht ist für die Fehlersuche egal. Wenn es damit funktioniert, liegt der Fehler irgendwo beim Requery. Vielleicht ist es irgenwas in diese Richtung http://www.c-plusplus.net/forum/viewtopic.php?t=78758&highlight=open+select+erste+spalte dass der zweite Datensatz in die zweite Zeile geschrieben wird oder so aber Fehlersuche mit Glaskugel ist so frustrierend...


Anmelden zum Antworten