Autor Beitrag
MasterHiggins
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 64



BeitragVerfasst: Di 28.01.03 09:47 
Habe ein Problem:

Ich lese über ADO zwei Datenbanken in zwei DBGrids aus.
Auf meinem Rechner läuft es auch Problemlos, auf dem Client läuft es seit der Installation von Jet4.0 auch, allerdings nur das zweite DBGrid, beim ersten gibt er folgende Fehlermeldung aus:

"ADODataSet1: Unterschiedliche Typen für Feld 'A1BONITAET'; erwartet: SmallInt, gefunden: Float"

Hängt das damit zusammen, daß manche der Datenfelder leer sind?
Oder was heißt das für mich? in den Feldern der Spalte 'A1BONITAET' (ist die erste Spalte des DBGrid) stehen entweder Zahlen von 0-9 oder sie sind leer.

Wer kann helfen??
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: Di 28.01.03 17:18 
hallo masterhiggins!

schau dir mal die definition der datenfelder in den tabellen an. deiner fehlermeldung nach schliesse ich, dass du eine float-zahl in ein integerfeld einlesen willst.

mfg, stefan
baka0815
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 489
Erhaltene Danke: 14

Win 10, Win 8, Debian GNU/Linux
Delphi 10.1 Berlin, Java, C#
BeitragVerfasst: Mi 30.11.11 12:36 
Ich habe dasselbe Problem bei einer Oracle 9i Datenbank in Kombination mit der BDE.

Ich selektiere fest den Wert "0" an dieser Stelle und die BDE meint dies wäre ein FLOAT-Wert.
Mit Oracle 10g+ kann ich den Wert als NUMBER(10,0) casten, das funktioniert dann bestens, unter 9i ist es ihm egal ob ich auf NUMBER(9,0), NUMBER(5,0), NUMBER(10,0) [jeweils mit und ohne ",0"] oder was auch immer caste, die BDE behauptet immer es sei ein FLOAT-Wert.

"ENABLE INTEGERS" steht in dem entsprechenden Alias auf "TRUE", daran liegt es also nicht.

Jemand 'ne Idee?

PS.: Ja, die BDE muss hier verwendet werden - leider.

Edit: Ich sehe gerade, dass ich hier nach demselben Punkt schonmal gesucht habe, nur wegen 'ner anderen Abfrage.
Ich vermute mal, dass noch immer keine 'ne andere Lösung hat außer "BDE raus" und "CAST als VARCHAR"?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 30.11.11 18:43 
Was passiert denn, wenn du den Typ wirklich auf Float stellst? Bekommst du dann falsche Werte?
baka0815
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 489
Erhaltene Danke: 14

Win 10, Win 8, Debian GNU/Linux
Delphi 10.1 Berlin, Java, C#
BeitragVerfasst: Do 01.12.11 11:51 
Dann müsste ich unter MSSQL auf FLOAT casten.