0

誰かが知っていれば、関数の戻り値を画面に印刷できるフィールドとして割り当てる方法を教えていただければ幸いです。ここに私のコードともう少し良い説明があります:

  SqlCommand myCommand = new SqlCommand("SELECT latitude,longitude,name FROM otherLocations WHERE dbo.DistanceInKm(" +myx + "," + myy + "," + "latitude" + "," + "longitude" + ") < 5", connection);
        SqlDataReader myReader = null;
        myReader = myCommand.ExecuteReader();
        while (myReader.Read())
        {
            Response.Write(myReader["latitude"].ToString() + "<br>");
            Response.Write(myReader["longitude"].ToString() + "<br>");
            Response.Write(myReader["name"].ToString() + "<br>");
        }

dbo.DistanceInKm の戻り値をいくつかのフィールドに割り当てて、呼び出してページに表示できるようにしResponse.Write(myReader["thatfield"].ToString() + "<br>"); たいので、テーブルの各行に対して distanceinkm 関数で定義されたフィールドを追加して、ページに印刷できるようにするか、結果を並べ替えます。

4

1 に答える 1

1

AS句を使用して関数を選択リストに追加します。

string query = @"SELECT latitude, longitude, name, 
     dbo.DistanceInKm(" +myx + "," + myy + "," + "latitude" + "," + "longitude" + @") < 5 
     as distance";

次に、他の列と同様にリーダーから値を取得できます。

string distance = myReader["distance"].ToString();
于 2013-03-28T16:14:39.060 に答える