Entwickler-Ecke
Datenbanken - Typ-Konvertierung nach Integer schlägt fehl
pwsolaris - Mo 28.03.11 15:52
Titel: Typ-Konvertierung nach Integer schlägt fehl
Hallo,
ich habe folgendes Problem:
Aus einer Access-Datenbank möchte ich einen Integerwert ziehen über die Funktion "Lookup".
Ich habe einen String-Wert nach dem ich in der Tabelle suche. Zu diesem Eintrag gibt es einen Integerwert, den ich benötige.
Meine bisherige Vorgehensweise anhand meinen Codes:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| var name : String; art : Integer; begin name := lbox_items.Items[lbox_items.ItemIndex];
with ADO_Items do begin art := Lookup('Name', name, 'Art'); end;
ShowMessage(name + ' ' + IntToStr(art)); end; |
Jetzt bekomme ich immer folgende Fehlermeldung:
"Eine Variante des Typs (Null) konnte nich in den Typ (Integer) konvertiert werden"
Wenn ich den Code wie folgt benutze, bekomme ich eine korrekte Ausgabe meines gesuchten Wertes:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| var name : String; art : Integer; begin name := lbox_items.Items[lbox_items.ItemIndex];
with ADO_Items do begin art := Lookup('Name', 'Test', 'Art'); end;
ShowMessage(name + ' ' + IntToStr(art)); end; |
Ergebnis ist hier eine Messagebox mit dem Inhalt:
"Test 1"
Wo liegt denn hier nun mein Fehler? Irgendwie muss ich die Variable "name" ja noch weiter bearbeiten, damit er den Eintrag in meiner Tabelle findet.
Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Mo 28.03.2011 um 16:59
jaenicke - Mo 28.03.11 16:01
Ich schätze einmal durch deine einfallsreiche Bezeichnung mit name in Verbindung mit with (Killercombo... :shock:) benutzt du schlicht das falsche name. Denn das ist ja eine Standardeigenschaft diverser Objekte...
Sonst schau doch einfach einmal was in der Zeile mit dem Lookup in name steht. Ich vermute das Falsche, so dass kein Ergebnis gefunden wird.
pwsolaris - Mo 28.03.11 16:03
Danke für die schnelle Antwort.
Die Variablenbezeichnung "name" nutze ich auch an anderen Stellen in gleicher Weise (auch mit der Lookup Funktion). Daran sollte es hoffentlich nicht scheitern.
Wenn ich Zeile für Zeile durchgehe steht in der Variable "name" schon etwas drinne. Sogar ein Wert, der auch zu 100% in der Tabelle vorkommt (nämlich "Test").
jaenicke - Mo 28.03.11 16:05
Was ist denn ADO_Items?
Lemmy - Mo 28.03.11 22:18
Hi,
pwsolaris hat folgendes geschrieben : |
Die Variablenbezeichnung "name" nutze ich auch an anderen Stellen in gleicher Weise (auch mit der Lookup Funktion). Daran sollte es hoffentlich nicht scheitern.
|
dann hast Du da halt Glück gehabt, dass der Compiler da zufällig den richtigen Wert nimmt. Die Fehlermeldung sagt eigentlich schon alles: Es wird "NULL" also nichts zurückgegeben. Das hat 2 Gründe: es wird unter dem Wert nichts gefunden oder der Integer für diesen Wert ist nicht gesetzt...
Grüße
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!