Probleme mit Sortierung beim Zugriff auf eine MySQL Datenbank über CRecordset

NBOne

Mitglied
Ich greife per CRecordset auf eine MySQL Datenbank zu, aber die Sortierung wird einfach ignoriert, egal ob ich sie wie in dem Beispiel hier zuerst durch die m_strSort setze oder per ORDER BY in meinen Query aufnehme, woran kann das liegen?

void CAuftraegeDlg::bookinglist_refresh()
{
//Deklarationen
CRecordset rcsRecordset;
CString strBookId;
CString strKdnr;
CString strStatusId;
CString strPayId;
CString strDatetime;

//Recordset initialisieren
rcsRecordset.m_pDatabase = m_dbDatabase;

//Sortierung setzen
rcsRecordset.m_strSort = "dti_datetime";

//Query ausführen
rcsRecordset.Open(CRecordset::forwardOnly, _T("SELECT * FROM shop_booking_properties"), CRecordset::executeDirect);


//Ergebnisse in Liste schreiben
do
{
//Felder auslesen
rcsRecordset.GetFieldValue("book_id", strBookId);
rcsRecordset.GetFieldValue("str_kdnr", strKdnr);
rcsRecordset.GetFieldValue("stat_id", strStatusId);
rcsRecordset.GetFieldValue("pay_id", strPayId);
rcsRecordset.GetFieldValue("dti_datetime", strDatetime);

//Daten in Liste schreiben
m_lstAuftraege.AddString(strBookId + " " + strKdnr + " " + strDatetime + " " + strStatusId + " " + strPayId);

//Nächster Datensatz
rcsRecordset.MoveNext();

} while (!rcsRecordset.IsEOF());

}


Danke,


NBOne
 
Hmm

Kann mir hier wirklich keiner weiterhelfen, meiner Meinung nach ist der Code richtig und ich bin ein bisschen am Verzweifeln weil ich nicht weiß was ich falsch mache. Ich könnte die ganzen Daten natürlich in ein Array schmeisse und dann in VC++ sortieren, aber das kann ja nicht Sinn der Sache sein.
 
Also das mit dem ORDERBY sollte eigentlich Funktionieren.

Lass deinen query mal ausgeben und probier ihn dann manuell an deinem Datenbankserver aus...

Aber wenn du mich fragst ist eine Software orientierte Sortierung eh effizienter als die ganze Geschichte immer vom DB Server aus zu machen...

Gruß

RedWing
 
Zurück