Announcement

Collapse
No announcement yet.

VARCHAR-Typ von mySQL in Delphi mit DBGrid

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • VARCHAR-Typ von mySQL in Delphi mit DBGrid

    Guten Abend!

    <H1 align="center">meine Existenz steht auf dem Spiel!</H1>
    Ich habe folgende Komponenten auf einer Form : TQuery,DBGrid,TDataSource.
    Query1.SQL ist 'Select * from kunden where mandant=:manr'. Nach einem Doppelklick auf Query1 habe ich alle Felder hinzugefügt. Einige dieser Felder (in einer mySQL-DB) sind vom Typ VARCHAR(32)=variable Länge.
    Wenn ich diese Felder anwähle steht im Objektinspektor in der Eigenschaft 'Size' ein wirrer Wert drin und die Laufzeitfehlermeldung lautet :'falsche Länge : erwartet 128 gefunden: 4'. Was soll dieser Quatsch? Dank im Voraus.

    Dr. George Lorenzo

  • #2
    Hallo,

    mit der Linux-Datenbank <b>mySQL</b> habe ich keine Erfahrungen, ich vermute einmal, das ein ODBC-Treiber für die Anbindung an die Datenbank verwendet wird???

    Falls ja, könnte die folgende Ursache die Probleme hervorrufen: Borland hat vor einigen Wochen einen TechAlert via eMail verschickt, indem davor gewarnt wurde, das einige ODBC-Treiber eine falsche Spaltenlänge zurückliefern. Der Grund dafür besteht in einer Änderung der ODBC-Spezifikation durch Microsoft (es geht das Gerücht, das ein MS-Bug dadurch gefixt wurde, den Fehler durch das Ändern der Spezifikation zum "Normalfall" zu erklären). Die BDE wertet in diesen Fällen nun den "falschen" Struktureintrag aus und liefert somit falsche Daten.

    Anstelle von 32x4=128 Byte wird nur 4 Byte (Zeiger?) reserviert.

    Wenn das der Grund ist, hilft nur das Ausweichen auf einen anderen ODBC-Treiber bzw. eine ältere Version dieses Treibers

    Comment


    • #3
      unter http://www.fichtner.net/delphi/mysql/ gibt es ein <br>
      Delphi-Unit zur direkten Ansteuerung von MySQL. <br>
      (wenn kein ODBC-Treiber verwendet werden soll) <br>
      <br>
      Der ODBC-Treiber für MySQL stammt im übrigen nicht von Microsoft und <br> und ist eine BETA-Version. Wodurch vieleicht auch der "Bug" herrühren kann. <br>
      Vieleicht ist auch der ODBC-Treiber falsch konfiguriert. <br>
      Im MySQL Handbuch ist eine Beispielkonfiguration für MySQL in <br>
      Verbindung mit der BDE aufgelistet

      Comment

      Working...
      X