Unicode
-
Hallo,
ich habe mein Projekt auf Unicode umgestellt.
Ich kann Daten aus der DB lesen aber nicht schreiben.
Ich kriege keine Compilerfehler.
Beim AddNew() gibt es mir assertion fehler.
Wenn ich umstelle nochmal auf Multi Byte .läuft alles wieder Fehlerfrei.Was muss ich beim Unicode beachten, um Daten in der DB zu schreiben?
-
dokdok2 schrieb:
Was muss ich beim Unicode beachten, um Daten in der DB zu schreiben?
Kurzfassung: Daß die Datenbank auch mit Unicode zurechtkommt.
Alternativ kannst du den DB-Zugriff auch auf char-Ebene durchziehen und dann die empfangenen Daten in Unicode transformieren (dafür bietet MFC ein breites Sortiment an Konvertierungsmakros wie
A2T()(verarbeitet ASCII-Strings zu TCHAR-Strings) und Co.).
-
Aber die Applikation stürzt ab, wenn der Satz
Meinclass::AddNew();durchführt.
Ich kann alles machen mit den Daten in der SQL-Tabelle auuser ::AddNew();
Ich kann Filter , Open() , Close(), Requery();
-
Die Frage wäre einfach auch noch, wo Du den ASSERT bekommst!
-
in dbcore.cpp
-
Welche Zeile?
-
zeile 61
-
Ich denke es lag an ODBC Verbindung.
Ich habe mein Projekt auf ADO umgestellt und es hat geklappt.
-
Der ASSERT wollte eine Fehlermeldung laden. Diese Fehlermeldung war aber nicht in Deinen Resourcen weil du vermutlich afxdb.rc nicht in Deine Ressourcen aufgenommen hast.
Die Ursache des fehlers lag aber mit Sicherheit woanders. Du hättest Dir den Kontext dort ansehen müssen und aus welchem Grund AfxThrowDBException aufgerufen wurde.