erwartet: SmallInt, gefunden: Float
spacer
Autor Nachricht
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??
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
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
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
baka0815
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 452
Erhaltene Danke: 10

Win XP, Debian GNU/Linux
Delphi 2007 Enterprise, 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"?
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 15841
Erhaltene Danke: 741

XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, 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?
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
baka0815
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 452
Erhaltene Danke: 10

Win XP, Debian GNU/Linux
Delphi 2007 Enterprise, Java, C#
BeitragVerfasst: Do 01.12.11 11:51 
Dann müsste ich unter MSSQL auf FLOAT casten.
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
home home