Delphi7 SQL Server 2008 - Datentypen varchar und text sind nicht miteinander vereinbar größer-als-oder-gleich-operator

Bitte helfen,

Habe ich immer diese Fehlermeldung, wenn ich Werte übergeben, um einen parameter mithilfe von code ähnlich:

parameters.paramByName('ParamVal1').value := trim(TextBox1.Text);
parameters.paramByName('ParamVal2').value := trim(TextBox2.Text);

So, wenn eine der Textboxen leer ist, dann der Fehler:

Den Datentypen varchar und text sind nicht miteinander vereinbar größer-als-oder-gleich-operator

erscheint.

Was falsch sein könnte?


Nach dem Ausführen des sqlprofiler, wie unten vorgeschlagen

exec sp_executesql N'Select * from BLOtherChargeDetails 

where Field1 = @P1 and Field2 >= @P2 and Field2 <= @P3 and
Field3 >= @P4 and Field3 <= @P5 and
Field4 >= @P6 and Field4 <= @P7 and 
Field5 = @P8

Order By Field2, Field3
',N'@P1 varchar(50),@P2 text,@P3 varchar(5),@P4 text,@P5 varchar(5),@P6 varchar(8),@P7 varchar(8),@P8 smallint','Value_P1','','ZZZZZ','','ZZZZZ','20130401','20130611',0
go
  • Würde es helfen, wenn Sie geben Sie einige weitere Informationen, welche Daten geben Sie die Parameter sind, aber der Fehler ist ziemlich klar: irgendwo, die Sie vergleichen varchar und text direkt, was nicht möglich ist. Wenn Sie nicht sicher sind, wo dies passiert ist, verwenden Sie SQL Profiler auf die Spur, die die Ausführung auf dem server helfen könnte. Obwohl seit text ist jetzt veraltet, möchten Sie vielleicht in Erwägung ziehen, um (n)varchar(max) statt.
InformationsquelleAutor KE50 | 2013-06-06
Schreibe einen Kommentar