MySql unsigned int

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Dets
Beiträge: 61
Registriert: Di 11. Sep 2007, 16:59
OS, Lazarus, FPC: Ubuntu Maverick (L 0.9.28.2-10, FPC 2.4.0)
CPU-Target: 32Bit
Wohnort: Lage
Kontaktdaten:

MySql unsigned int

Beitrag von Dets »

Hallo Leute,

ich untersuche gerade ein interessantes Phänomen: ich muss eine ID generieren und speichere sie als unsigned int in einer MySQL-Datenbank. Leider liefert mir Lazarus einen EConvertError bei TSQLQuery.Open, wenn ein Datensatz einen Wert > 2147483647 beinhaltet. Wie komme ich an die Daten ran?

BTW, das ist mein dritter Versuch an die Daten zu kommen. Zuerst habe ich es mit Delphi7 unter WinXP (mit DirectSQL-Komponenten) probiert: die liefern bei den oben genannten Datensätzen eine 0 zurück.
Dann habe ich es unter SuSE 9.2 mit Kylix3 probiert, dort liefert das Query immer die letzte gültige Zahl zurück :shock:

Was nun?

thx, Dets ...
Zuletzt geändert von Dets am Mi 12. Sep 2007, 12:17, insgesamt 1-mal geändert.

John
Beiträge: 273
Registriert: Mo 30. Jul 2007, 19:55

Beitrag von John »

Da ich leider wenig ahnung mit Mysql datenbanken habe, wäre ein Tipp mal zu probieren vll nen anderen Integertypen zu benutzen? Aber ich gebe keine Garantie wär nur so meine erste Idee.


John

Dets
Beiträge: 61
Registriert: Di 11. Sep 2007, 16:59
OS, Lazarus, FPC: Ubuntu Maverick (L 0.9.28.2-10, FPC 2.4.0)
CPU-Target: 32Bit
Wohnort: Lage
Kontaktdaten:

Beitrag von Dets »

Nachtrag: unter WinXP mit Lazarus über MySQL-ODBC-Treiber passiert das, was ich erwartet hätte: die Zahlen werden negativ dargestellt.
Auch die Sortierung entspricht einem UNSIGNED INT: erst die positiven Zahlen aufsteigend, dann die negativen absteigend.

Dets ...

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Monta ich glaub es wird langsam wirklich mal zeit für nen Mod der das editieren bereits beantworteter Beiträge verbietet. Gibts garantiert für das phpBB.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Dets
Beiträge: 61
Registriert: Di 11. Sep 2007, 16:59
OS, Lazarus, FPC: Ubuntu Maverick (L 0.9.28.2-10, FPC 2.4.0)
CPU-Target: 32Bit
Wohnort: Lage
Kontaktdaten:

Beitrag von Dets »

Christian hat geschrieben:Monta ich glaub es wird langsam wirklich mal zeit für nen Mod der das editieren bereits beantworteter Beiträge verbietet. Gibts garantiert für das phpBB.


Habe ich irgendeinen bösartigen Fehler gemacht? Ich habe lediglich die Worte bei TSQLQuery.Open in mein erstes Posting eingefügt, um den Fehler noch etwas genauer zu spezifizieren.

Dets ...

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Nein das geht nicht gegen dich ich find es nur immer net so toll wenn jemand an nem post rumeditiert welches schon beantwortet wurde es kann kein mensch mehr nachvollziehn (außer monta vielleicht) was da nun editiert wurde
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Ist och egal, was editiert wird, solange niemand seine Beiträge völlig löscht. Und jeder hat letztlich das Recht seinen eigenen Beitrag zu editieren. Und spätestens bei Software, und aktuellen Versionen ist das sehr sinnvoll.

Was das Problem betrifft, logisch das der Fehler kommt, nen normaler Integer geht ja nicht weiter. Wäre die Frage, ob man das auf nen größeren umstellen kann, gibts bei Freepascl eigentlich Longint bzw int64? Hab ich noch nie gebraucht, longint sollte wenn aber gehen.
Johannes

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

ja gibts beides
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten