J'ai le code de procédure stockée suivant quand je l'exécute donne une erreur indiquant nom de colonne non valide Lat, Lng. Ces variables Lat et Lng sont des paramètres appelés à partir du code C# derrière avec sql query indiqué enfin dans ce paragraphe particulier.problème avec la création de procédure stockée et vue dans le serveur sql
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)";
Votre requête est sujette à l'injection Sql. (Lorsque la variable de nom de rue a la valeur de '')), DELETE Business_Details; - ", l'exécution de SelectCommand videra votre table dans la base de données.) – treaschf
Cette question a été répétée en tant que http://stackoverflow.com/q/ 3615364/217751 – treaschf