我有下面的存儲過程代碼,當我執行它給出了一個錯誤,說無效列名Lat,Lng.These Lat和Lng變量是從後面用sql查詢最後在這個段落裏。在sql server中創建存儲過程和視圖的問題
CREATE FUNCTION spherical_distance(@a float, @b float, @c float)
RETURNS float
AS
BEGIN
RETURN (6371 * ACOS(COS((@a/@b)) * COS( (Lat/@b) ) * COS((Lng/@b) - (@c/@b)) + SIN(@a/@b) * SIN( Lat/@b )))
END
create view [dbo].[business] as
SELECT Id,
Name1,
ZipCode,
StreetName,
StreetNumber,
State1,
Lat,
Lng,
Keyword
FROM Business_Details
sqlda.SelectCommand.CommandText = "select *, spherical_distance(Lat, 57.2958, Lng) as distance
from business
where ((distance < '" + radius + "')
and (StreetName like '%" + streetname + "%')
and (Keyword like '%" + keyword1 + "%'))
order by spherical_distance(Lat,57.2958,Lng)";
您的查詢以Sql Injection爲準。 (當streetname變量的值爲'')); DELETE Business_Details; - 「,運行SelectCommand將清空數據庫中的表。) – treaschf 2010-09-01 05:43:45
此問題已重複爲http://stackoverflow.com/q/ 3615364/217751 – treaschf 2010-09-01 06:35:48