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";

然后,您可以像任何其他列一样从 reader 获取值:

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