ODBC, Foxpro, Codepage? Sonderzeichen verkehrt?
-
Ich habe endlich hinbekommen, das ich eine Foxpro datenbank öffnen kann. Nur zeigt er mir die Umlaute und Sonderzeichen falsch an. Ich teste Visual Studio NET 2003. Mein Code sieht folgendermaßen aus:
CDatabase db; BOOL bRes=FALSE; int i=0; bRes=db.OpenEx("Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=c:\\testdb;Exclusive=No;Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO",0); CRecordset dyn(&db); bRes=dyn.Open(AFX_DB_USE_DEFAULT_TYPE, "select * from ARTIKEL",CRecordset::none); bRes=dyn.IsOpen(); i=dyn.GetRecordCount(); bRes=dyn.CanAppend(); CString txt; while (!dyn.IsEOF()) { dyn.GetFieldValue("l_bez1",txt); AfxMessageBox(txt); dyn.MoveNext(); } dyn.Close(); db.Close();
Leider habe ich auch noch nicht herausgefunden wie man das in einer Tabelle darstellen kann bzw später nacharbeiten geht. Aber vorrangiges Problem ist wie gesagt, das alle Umlaute und Sonderzeichen verkehrt sind.
-
Von FoxPro habe ich keine Ahnung, aber ist das nicht eine DOS-Datenbank ? Kann die überhaupt Sonderzeichen/Umlaute darstellen/verarbeiten ? Ich würde den Fehler eigentlich eher in der Datenbank suchen, als beim Auslesen...
-
naja zumindest das Fakturierungsprogramm das auf die Daten zugreift, kann alle Zeichen in die Felder schreiben. Und da muss ich schon froh sein das die von DBase auf FoxPro umgestiegen sind.
Ich möchte ein Tool bauen wo ich bestimmte selektionen in eine SQL Tabelle spulen kann, oder eine Textdatei, wo ich dann die Querys reinpacke. Zur besseren Darstellung würde ich das ganze ja mal in so eine Datenbankanzeige stecken, aber scheinbar gibt es sowas in Visual C nicht, oder ich weis es einfach nicht.