2011-08-18 81 views
1

SQL查詢和雙功值具有一定的查詢問題,

Dim nwLat As Double 
Dim Ssql As String 

nwLat = nwLatHidden.Value 
Ssql = " select * from customer where latitude < " & nwLat 

TFRcount.SelectCommand = Ssql 
TFRcount.SelectParameters.Clear() 
TFRcount.DataBind() 

它所做的就是刷新頁面,什麼都不做;它應該填充圖表。但是,當我用nwLat替換一個值(例如,緯度= 56)時,它完美地工作並填充圖表。任何想法nwLat有什麼問題?

編輯:我切換nwLat長,它的工作;然而它只取數到小數,忽略其餘。任何方式來解決? (如雙56.764746和長56)

+0

你還沒有說有什麼錯。 – cjk

+0

它什麼都不做, – Sam

+0

當您打印Ssql而不是嘗試執行它時會發生什麼?緯度的數據類型是什麼? –

回答

1

你確定nwLatHidden有一個值嗎?

試試這個:

nwLat = 56 
If NOT string.isnullorempty(nwLatHidden.Value) THEN 
nwLat = nwLatHidden.Value 

或者只是把一個調試器打破在那裏,運行代碼來休息,然後鼠標懸停newLat來看看它的價值。

1

不要使用混合模式操作,使用

Ssql = " select * from customer where latitude < " & cstr(nwLat) 
+1

更好的是,不要使用字符串連接來創建sql查詢。使用參數化查詢,這將消除SQL注入攻擊。 –