CRecordSet auslesen

Winner

Erfahrenes Mitglied
Hallo zusammen.

Ich sitz gerade dran um SQL abfragen für meine bestehende DB zu erstellen.

So schön so gut. Ich nutze vs 6.0 und habe ein mfc ohne db unterstüzung angelget,

Nun möchte ich einen SQL Befehl an die DB schicken.

Das alles klappt auch! Aber wie bekomme ich daten aus dem Recordset heraus

Kann mir einer helfen! hab da leider keine idee!

Ich möchte den Inhalt gerne in einer variable zwischen speichern.

Code:
CRecordset rs(&DBase);

    rs.Open(rs.forwardOnly, _T( "SELECT MAX(PositionsID) FROM tbl_Position" )); 
    long liRScount = rs.GetRecordCount(); //also da habe ich auch den Wert eins stehen, der gefordert ist.

Aber wie bekomme ich den Maximalwert ausgelesen? also das ich den Wert in einer variablke speichern kann?
 
Den Wert bekommst du mit CRecordset::GetFieldValue(...). diese Memberfunktion gibt es in 4 Varianten (siehe MSDN). Bei einer davon kannst Du den Feldnamen angeben und der Wert wird in eine Variable vom Typ CDBVariant geschrieben, bei den anderen mußt Du den Index des Feldes im Datensatz angeben und bekommst das Datum (nein, ich meine nicht das Tagesdatum sondern den Singular von 'Daten') ebenfalls in einem CDBVariant oder einem CString.
 
Vielen dank, da bin ich kurz zu vor alleine drauf gekommen. Habe aber auch schon das ganze mit verschiedenen Tabellen getestet. Klappt leider nicht.

Kann es vielleicht daran liegen, das ich im select befehl die MAX anweisung stehen habe. Kommt Access damit nicht klar?

Kann mir einer helfen.
Code:
 rs.GetFieldValue(...) //damit klappt es

Aber wenn ich in der SQL Anweisung die Abfrage nach dem Max wert habe, dann klappt es nicht
 
Vielen dank, da bin ich kurz zu vor alleine drauf gekommen. Habe aber auch schon das ganze mit verschiedenen Tabellen getestet. Klappt leider nicht.

Kann es vielleicht daran liegen, das ich im select befehl die MAX anweisung stehen habe. Kommt Access damit nicht klar?

Kann mir einer helfen.
Code:
 rs.GetFieldValue(...) //damit klappt es

Aber wenn ich in der SQL Anweisung die Abfrage nach dem Max wert habe, dann klappt es nicht
 
Fehler gefunden.


Durch meinen Select Befehl:
SELECT max(MessageID) from tbl_Gesamt;

wird anscheind ein neuer Spaltenname angelegt.

Möchte ich den Wert auslesen mit:
Code:
rs.GetFieldValue("MessageID", varValue);
dann klappt es nicht.

Gehe ich aber über den Index als Spaltenbezeichner dann geht´s.

Code:
index=0;
rs.GetFiledValue(index,varValue)
 
Zurück