2017-01-05 9 views
-1

私は一般的にコーディングするのが初めてで、ASP.NETのソーシャルネットワーキングプロジェクトに取り組んでいます。自分のプロフィールに設定した場所に基づいて近くのユーザーを表示する方法を考えなければなりません。 SQLServerからそのデータ(設定された場所)を取得するので、関連するユーザーを表示できます。SQLからデータを取得してASP.NETに表示する

どうすればいいですか?私はコントローラとしてC#を使用しており、htmlドキュメントで参照する必要があります。私が得ることができるどんな助けにも感謝します。

ありがとうございました!

+0

http://www.w3schools.com/ asp/webpages_intro.asp – sh1rts

答えて

0

広い話題の場合はビットです。データベースを使い、後でUIについて心配することをお勧めします。

ユーザーのテーブルがあり、現在の場所がデータベースに記録されているとします。今

enter image description here

、あなたは5マイルの半径内のすべてを見つけたいです。以下を考慮する。注@Usersはテーブル変数であり、実際のテーブルに置き換えられます。

Declare @Users table (ID int,UserName varchar(25),Lat float,Lng float) 
Insert Into @Users values 
(1,'James',41.721913,-71.265238), 
(2,'Joseph',41.709084,-71.386673), 
(3,'Mary',41.709084,-71.386673), 
(4,'Sam',41.68745,-71.270122), 
(5,'Sally',41.756903,-71.222215), 
(6,'John',41.744068,-71.315024) -- Let's assume this is my current position 


Declare @MyLat float = 41.744068 
Declare @MyLng float = -71.315024 
Declare @Miles float = 5 

Select MilesAway = [dbo].[udf-Geo-Calc-Miles] (@MyLat,@MyLng,A.Lat,A.Lng) 
     ,A.* 
From @Users A 
Where [dbo].[udf-Geo-Calc-Miles] (@MyLat,@MyLng,A.Lat,A.Lng) <= @Miles 
Order by 1 

戻り今

enter image description here

、私は(メートルに変換することができます)マイルを計算するためにUDFを使用

CREATE Function [dbo].[udf-geo-Calc-Miles] (@Lat1 float,@Lng1 float,@Lat2 Float,@Lng2 float) 
Returns Float as 
Begin 
    Declare @Miles Float = (Sin(Radians(@Lat1)) * Sin(Radians(@Lat2))) + (Cos(Radians(@Lat1)) * Cos(Radians(@Lat2)) * Cos(Radians(@Lng2) - Radians(@Lng1))) 
    Return Case When @Miles is null then 0 else abs((3958.75 * Atan(Sqrt(1 - power(@Miles, 2))/@Miles))) end 
End 
関連する問題