Guybrush Threepwood Geschrieben 26. Mai 2003 Teilen Geschrieben 26. Mai 2003 Hi, CRecordset hat ja vier verschiedene GetVieldValue() Methoden mit unterschiedlichen Parametern. Die erste sieht so aus: void GetFieldValue( LPCTSTR lpszName, CDBVariant& varValue, short nFieldType = DEFAULT_FIELD_TYPE ); und die 4. so: void GetFieldValue( short nIndex, CString& strValue ); Wenn ich GetVieldValue jetzt aber folgendermaßen aufrufe, bekomme ich immer einen Error, dass nicht die Paramter der 1.Methode übergeben wurden:confused: CString strValue; Record.GetFieldValue(3,&strValue); [/PHP] Gruß Guybrush Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 26. Mai 2003 Teilen Geschrieben 26. Mai 2003 Du übergibst einen Zeiger, die Funktion erwartet aber eine Referenz. Mach das & weg. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
maxim_42 Geschrieben 26. Mai 2003 Teilen Geschrieben 26. Mai 2003 void GetFieldValue( short nIndex, CString& strValue ); Offenbar will GetFieldValue eine CString-Referenz haben. Du übergibst aber einen Zeiger; oder? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 26. Mai 2003 Autor Teilen Geschrieben 26. Mai 2003 Äh.. das kapiere ich jetzt aber, mal wieder, nicht:rolleyes: Müsste ohne das & nicht eine Kopie des Objekts angelegt werden? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
maxim_42 Geschrieben 26. Mai 2003 Teilen Geschrieben 26. Mai 2003 Klotzkopp ist nicht zu schlagen. Immer als Erster am Ball:uli Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
maxim_42 Geschrieben 26. Mai 2003 Teilen Geschrieben 26. Mai 2003 Eine Referenz ist doch ein konstanter Zeiger (kann nicht verbogen werden), der bei Benutzung automatisch dereferenziert wird. Eine Kopie vom referenzierten Objekt wird dabei nicht gemacht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 26. Mai 2003 Autor Teilen Geschrieben 26. Mai 2003 Jetzt bekomme ich immer eine Microsoft C++ Exception:confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 26. Mai 2003 Teilen Geschrieben 26. Mai 2003 In der MSDN steht, dass GetFieldValue zwei Arten von Ausnahmen werfen kann: CDBException* und CMemoryException*. Ich tippe auf ersteres. Fang die Ausnahme auf, dann kannst du weitere Informationen rausholen: try { // Dein Aufruf } catch( CDBException* pEx ) { CString strMsg; strMsg.Format( "%d\n%s\n%s", pEx->m_nRetCode, pEx->m_strError, pEx->m_strStateNativeOrigin ); MessageBox( strMsg ); }[/CODE] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 26. Mai 2003 Autor Teilen Geschrieben 26. Mai 2003 Hab ich auch schon versucht. Egal welche von beiden Exceptions ich abfange, er kommt gar nicht bis in den catch Block. Die Meldung kommt sobald GetVieldValue() ausgeführt wird. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 26. Mai 2003 Teilen Geschrieben 26. Mai 2003 Wie ist denn der genaue Wortlaut der Exception? Gibt es vielleicht im Trace-Fenster genauere Informationen, wenn du das Programm im Debugger ausführst? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 26. Mai 2003 Autor Teilen Geschrieben 26. Mai 2003 Oh ja, da steht noch mehr:rolleyes: Error: GetFieldValue operation failed on field 4. Ungültiger Cursorzustand State:24000,Native:0,Origin:[Microsoft][ODBC Driver Manager] Nicht abgefangene Ausnahme in Downloadserver.exe: 0xE06D7363: Microsoft C++ Exception. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 26. Mai 2003 Autor Teilen Geschrieben 26. Mai 2003 Ich glaub ich hab den Fehler gefunden. Anscheinend befinden sich gar keine Records im Recordset:floet: Jetzt muß ich nur noch rausbekommen warum nicht, ist bestimmt ein Fehler im SQL String. Danke für die Hilfe! Gruß Guybrush Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 27. Mai 2003 Autor Teilen Geschrieben 27. Mai 2003 Ich hät da noch ne Frage: Warum kann ich nicht zweimal den selben Wert mit GetFieldValue aus dem Rowset auslesen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.