![]() |
Datenbank: MySql • Version: 4.1.19 • Zugriff über: uMysqlClient Cristian Nicola
MySql Version von 4.0.25 auf 4.1.19, jetzt nur Fehler.
Servus,
unsere Kundenverwaltung haben wir mit Delphi geschrieben. Die Datenbank liegt im Internet. Jetzt haben wir beim Provider einen internen Wechsel zurchgeführt, von Server 1 auf 2. Seit ein paar Tage funktioniert die Anwendung nicht mehr. Irgend wie scheint der Syntax nicht mehr zustimmen.
Delphi-Quellcode:
Er liest alle Kunden aus mit der p_typ = 0 aber das AND wird gar nicht beachtet.
s := mydb.SQLQuery('SELECT id,kdn_nr FROM kunden_history WHERE p_typ = ''0'' AND p_typ_id = '''+id+'''');
Kann mir einer beim Systax helfen? Mfg |
Re: MySql Version von 4.0.25 auf 4.1.19, jetzt nur Fehler.
Kannst du einen Quercheck mit dem MySQL Query Browser machen?
MySQL hat ab und zu unbrauchbare Versionen (wie z.B. 4.1.14.0 welche alle Varchar-Felder als Blobfelder zurück geliefert hat). |
Re: MySql Version von 4.0.25 auf 4.1.19, jetzt nur Fehler.
keine Ahnung ob ich einen Quercheck machen kann, weis nicht was das ist.
Die Datenbank liegt bei all-inkl. |
Re: MySql Version von 4.0.25 auf 4.1.19, jetzt nur Fehler.
Lade den MySQL QueryBrowser herunter und installier ihn und führe deine obige SQL-Anweisung in diesem Tool aus und schau was passiert.
|
Re: MySql Version von 4.0.25 auf 4.1.19, jetzt nur Fehler.
da werden die Daten richtig angezeigt.
Habe diesen SQL Befehl ausgeführt
SQL-Code:
SELECT * FROM mydb.kunden_history WHERE p_typ = '0' AND p_typ_id = '10'
|
Re: MySql Version von 4.0.25 auf 4.1.19, jetzt nur Fehler.
Ist evtl. die uMysqlClient Unit etwas Buggy?
|
Re: MySql Version von 4.0.25 auf 4.1.19, jetzt nur Fehler.
keine Ahnung aber ich hoffe nicht....
Jetzt habe ich gerade festgestellt, das die Select funktioniert. Wo Müll raus kommt ist hier
Delphi-Quellcode:
die sid werden so gefüllt
s := mydb.SQLQuery('SELECT * FROM db_kunden WHERE AS_Kundennummer IN ('+sid+')');
Delphi-Quellcode:
for j:=0 to mydb.FResult.RowsCount-1 do
begin sid := sid + '''' + mydb.FResult.FieldValue(1) + '''' + ','; lid.add(mydb.FResult.FieldValue(0)+';'+mydb.FResult.FieldValue(1)); mydb.FResult.next; end; |
Re: MySql Version von 4.0.25 auf 4.1.19, jetzt nur Fehler.
hat keiner irgend eine idee?,
wir können jetzt mit dem Tool nicht mehr weiterarbeiten. Mfg |
Re: MySql Version von 4.0.25 auf 4.1.19, jetzt nur Fehler.
Habe den Fehler gefunden
Delphi-Quellcode:
//Mit MySql 4.0 no problem for j:=0 to mydb.FResult.RowsCount-1 do begin sid := sid + '''' + mydb.FResult.FieldValue(1) + '''' + ' ,'; lid.add(mydb.FResult.FieldValue(0)+';'+mydb.FResult.FieldValue(1)); mydb.FResult.next; end; sid := sid + '-1';
Delphi-Quellcode:
//Mit MySql 4.1 so funktionierts for j:=0 to mydb.FResult.RowsCount-1 do begin sid := sid + '''' + mydb.FResult.FieldValue(1) + '''' + ' ,'; lid.add(mydb.FResult.FieldValue(0)+';'+mydb.FResult.FieldValue(1)); mydb.FResult.next; end; sid := sid + '''-1'''; // <- HIER |
Re: MySql Version von 4.0.25 auf 4.1.19, jetzt nur Fehler.
Da bei dieser Unit AFAIK die Verwendung von SQL-Parametern leider ausscheidet, könntest Du zumindest auf QuotedStr ausweichen, dann ist das Ganze zumindest besser lesbar ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz