CDBException und falscher RecordCount()-Wert
-
Hallo zusammen,
ich bekomme bei folgendem Text eine CDBException mit der Aussage:
Es wurde ein falsches Argument festgestellt
Leider kann ich damit nicht so viel anfangen. Ich habe mir mal den Spaß gemacht und so ziemlich alle Aktionen in einen einzelnen Try/Catch Block gepackt, das Ergebnis sieht dann so aus:
... if(!db.IsOpen()) return 1; try { tab.Open(CRecordset::dynaset, select); } catch(CDBException *e) { e->ReportError(); e->Delete(); err_message.Format("Satz suchen (OpenTab)"); AfxMessageBox(err_message); AfxMessageBox(select); //Statement wurde zusammengestellt "SELECT * FROM Daten ORDER BY number ASC" return 1; } if(!tab.IsOpen()) return 1; //Test ob Recordset leer also Datenbank sozusagen leer if(tab.IsBOF()) { AfxMessageBox("Die Suchekriterien ergaben keine Treffer oder die Datenbank ist leer!"); return 1; } try { while(!tab.IsEOF()) { Liste[i] = tab.number; i++; tab.MoveNext(); } } catch(CDBException *e) // diese Exception wird "gefangen" { e->ReportError(); e->Delete(); err_message.Format("%i - Satz suchen (Liste füllen)", i); // Wert für i ist hier 230, was auch korrekt ist AfxMessageBox(err_message); AfxMessageBox(select); //siehe oben return 1; } list_count = tab.GetRecordCount(); err_message.Format("%i", list_count); // hier sagt Die Ausgabe 2550128 AfxMessageBox(err_message); ...
Die Aussaage von "e->ReportError();" sagt ja fast nichts aus. Hat jemand eine Idee, woran das liegen kann?
Zusatzinfo:
MS VS2012
MS SQLServer 2008 R2
System: Win7Viele Grüße und vielen Dank,
Ranger