Moin Zusammen,
ich habe einen TADODataSet, der wie folgt vorbereitet wird:
Delphi-Quellcode:
LRSSelectTyp := TADODataSet.Create(nil);
LRSSelectTyp.CommandText := 'SELECT ID FROM Typ WHERE Typ = :prmTyp';
LRSSelectTyp.Parameters.ParseSQL(LRSSelectTyp.CommandText,true);
LRSSelectTyp.ParamCheck := true;
LRSSelectTyp.Connection := conMain;
Die Abfrage erfolgt dann mit (AsTyp ist ein Parameter vom Typ string):
Delphi-Quellcode:
LRSSelectTyp.Parameters.ParamByName('prmTyp').Value := AsTyp;
LRSSelectTyp.Open;
Die Spalte Typ hat den Datentyp varchar mit der Länge 50, ausserdem ist die Einschränkung UNIQUE für die Spalte aktiv.
Wenn AsTyp einen Leerstring enthält, bekomme ich eine
Exception:
Zitat:
Die Datentypen text, ntext und image können nur mithilfe des Operators IS NULL oder LIKE verglichen oder sortiert werden.
Ich benutze den Code beim Einlesen von Dateien.
Was ich mir nicht erklären kann:
Es kann diverse Male ein Leerstring benutzt werden, ohne das die
Exception auftritt.
Der Fehler tritt erst bei einer bestimmten Datei auf, wobei es aber keine Rolle spielt, ob ich mit der Datei anfange, oder ob sie erst später an die Reihe kommt.
Hat jemand eine Erklärung für dieses Verhalten?