Look at your query.
Let's just cut it down a bit and do some substitutions:
Select Sitecode,Type,SpeedLimit,Triggerspeed from TBL_TXN_XML_DATA where
Sitecode = 'SITE' and
Type = 'TYPE' and
SpeedLimit = 50-65 '50' and
TriggerSpeed = '65' and
FileTime = 'TIME'
group by Sitecode,Type,SpeedLimit,Triggerspeed
So, your speed limit is negative...
But stop right there!
Look at your speedlimit clause:
rtrim(SpeedLimit) = cast(speedlimit as numeric),0)-cast(triggerspeed as numeric),0) '" + txtspeedlimit.Text.Trim() + "'
So this only matches when the trigger speed is zero...
And for goodness sake:
1) Don't store numeric values as strings - store them as numbers. They are much, much easier to work with if you do that.
2) Do not concatenate strings to build a SQL command. It leaves you wide open to accidental or deliberate SQL Injection attack which can destroy your entire database. Use Parametrized queries instead.