TDBGrid zeigt (VARBYTES) an
-
Ich führe eine SQL-Abfrage auf eine MySQL Datenbank durch und zeige die resultierenden Datensätze in einem DBGrid an.
Das Programm wurde auf verschiedenen Systemen Win98, NT, 2000, XP getestet und es funktioniert fehlerfrei.
Da ist lediglich ein Rechner (Win XP Pro) bei dem in eben diesem DBGrid anstelle der Daten der Eintrag (VARBYTES) angezeigt wird. Warum?
Ich habe festgestellt, daß es sich bei den abgefragten Spalten um Spalten handelt die durch CONCAT Befehle zustandekommen.SELECT ..., CONCAT(Spalte_1,Spalte_2) AS Spaltenname, ...Warum (VARBYTES)?
Es ist das gleiche Programm,
mit dem gleichen ODBC Treiber,
der selben Datenbank (ich greife via ODBC von verschiedenen Clients auf die selbe DB zu)
auf dem gleichen Betriebssystem.HELP!!!

-
Hi,
ist auf diesem Rechner eine andere MDAC-Version installiert?
Grüße Joe_M.
-
Ehrlichgesagt habe ich keine Ahnung.
Mein Progrämmchen kommt mit einer Installshield Routine daher
und installiert automatisch eine MDAC Version. Es könte natürlich sein
daß auf dem Rechner schon eine neuere vorhanden ist,
diese dann nicht ersetzt wird und damit auch eine andere verwendet wird.Meinst du, daß es daran liegen könnte? Ich habe nämlich mal gegoogelt
und auf einigen anderen Seiten ähnliche Postings gefunden. Diese allerdings
im Zusammenhang mit Postgress oder MySQL in irgend einer Linux Distribution.
Jedenfalls wurde dort auch ein DBGrid verwendet eine Antwort auf deren Problem
gab's allerdings nicht.
-
Diese Eigenart kenne ich von dbExpress + MySQL, allerdings tritt das dort IIRC bei VARCHAR-Feldern generell auf. Als Workaround kannst du im OnGetText des entsprechenden Feldes den korrekten Text setzen.
void __fastcall TForm1::ClientDataSet1DasFeldGetText(TField *Sender, AnsiString &Text, bool DisplayText) { Text = Sender->AsString; }Oder so ähnlich, ungetestet.