Datenbank



  • Hallo,

    ich habe folgenden Code in meinem Prog mit einer AccessDB um zum nächsten Datensatz zu springen:

    CKundenDBSet pSet;
    pSet.Open();

    for(int i=0;i<m_iIndex;i++)
    {
    pSet.MoveNext();
    }

    m_iIndex = pSet.m_Index;
    m_strName = pSet.m_Name;
    m_strVorname = pSet.m_Vorname;
    m_strAnschrift = pSet.m_Anschrift;
    m_strOrt = pSet.m_Wohnort;

    pSet.Close(); // Datenbank schliessen
    UpdateData(FALSE);

    dies funktioniert auch, aber nun wollte ich diesen Code auf einen SQL-Server anwenden.
    Wenn ich dann auf Button für den nächsten Datensatz klicke bringt er mir zwar die Datensätze, aber er bringt sie völlig durcheinander und zeigt auch nicht alle an.
    Kann mir jemand sagen was ich da falsch mache?



  • Hallo !

    Das könnte evtl. daran liegen, das die Datensätze nicht geordnet in der Datenbank abgelegt sind.
    Probier doch mal das hier:

    CKundenDBSet pSet;
    pSet.m_strSort = "Index";   // NEU -> nach Index sortieren
    pSet.Open();
    

    usw.

    Tschüss

    [edit]
    Mir fällt gerade noch etwas ein:
    könnte auch so klappen:
    ohne pSet.m_strSort = "Index" aber dafür:

    while(m_iIndex != pSet.m_Index)
    {
        pSet.MoveNext();
    }
    

    [/edit]

    [ Dieser Beitrag wurde am 29.11.2002 um 11:21 Uhr von isabeau editiert. ]



  • Mit der Schleife friert mir das Prog ein und meine Datensätze sind auch geordnet in der DB.
    Trotzdem vielen Dank für Deine Antwort.

    MfG



  • Mmmmmhhh, wenn das Ding einfriert, wird wohl kein passender Index zu m_iIndex gefunden. Möglicherweise hat m_iIndex einen Startwert, der keinem Index in der Datenbank entspricht...



  • Datensätze sind in SQL-DB nie geordnet da dies die DB selbst erledigt. (Mit einer ORDER BY , etc.)

    Erstelle eine SQL-Anweisung wie z.B.

    SELECT * from Datenbank ODER BY welchesfeld ASC|DESC

    und schickes sie an die SQL-DB.
    Die DB liefert dir eine Result nach deinen Anforderungen geordnet nach deinen Anforderungen.


Anmelden zum Antworten