C# MySqlDataReader不会像没有返回行一样读取我的查询,而是PHPMyAdmin返回具有相同查询的行

C# MySqlDataReader不会像没有返回行一样读取我的查询,而是PHPMyAdmin返回具有相同查询的行,c#,mysql,phpmyadmin,mysqldatareader,sql-calc-found-rows,C#,Mysql,Phpmyadmin,Mysqldatareader,Sql Calc Found Rows,第一次在这里请求你的帮助 我知道我的标题是错的,如果我们弄清楚问题所在,我会改变它,现在我有点迷路了 好了,我们先来,我想从我的数据库中选择当前用户范围内的所有用户 如果我执行查询,它将从PHPMyAdmin返回4行,哦,我应该提到im使用MariaDB 以下是查询: SET @orig_lat=45.820904; SET @orig_lon=-73.760549; SET @dist=1000 * 5;//5 KM SET @accountId=9; SELECT SQL_CALC_FOU

第一次在这里请求你的帮助

我知道我的标题是错的,如果我们弄清楚问题所在,我会改变它,现在我有点迷路了

好了,我们先来,我想从我的数据库中选择当前用户范围内的所有用户

如果我执行查询,它将从PHPMyAdmin返回4行,哦,我应该提到im使用MariaDB

以下是查询:

SET @orig_lat=45.820904;
SET @orig_lon=-73.760549;
SET @dist=1000 * 5;//5 KM
SET @accountId=9;

SELECT SQL_CALC_FOUND_ROWS *, (((acos(sin((@orig_lat*pi()/180)) * sin((account.latitude*pi()/180))+cos((@orig_lat*pi()/180))*cos((account.latitude*pi()/180))*cos(((@orig_lon-account.longitude)*pi()/180))))*180/pi())*60*1.1515*1609.344) AS distance FROM accounts AS account HAVING distance <= @dist AND account.id <> @accountId  ORDER BY distance ASC LIMIT 50 OFFSET 0;0
SET@orig_lat=45.820904;
设置为@orig_lon=-73.760549;
设置@dist=1000*5//5公里
设置@accountId=9;

选择SQL_CALC_FOUND_ROWS*,((acos(sin)((@orig_lat*pi()/180))*sin((account.latitude*pi()/180))+cos((@orig_lat*pi()/180))*cos((@orig_lon-account.long*pi()/180)))*180/pi())*60*1.1515*1609.344)作为与帐户的距离,作为帐户的距离好吧,我想好了我的问题是什么,我在查询参数中将纬度解析为经度

我留下它以防有人需要代码。 始终仔细检查您的参数;)

需要改变

var rows = Database.ExecuteQuery(query,
            new QueryParameter("accountId", accountId),
            new QueryParameter("orig_lat", latitude),
            new QueryParameter("orig_lon", latitude),
            new QueryParameter("dist", 1000 * rangeInKM),
            new QueryParameter("limit", limit),
            new QueryParameter("page", page - 1));


好吧,我想我的问题是什么,我在查询参数中将纬度解析为经度

我留下它以防有人需要代码。 始终仔细检查您的参数;)

需要改变

var rows = Database.ExecuteQuery(query,
            new QueryParameter("accountId", accountId),
            new QueryParameter("orig_lat", latitude),
            new QueryParameter("orig_lon", latitude),
            new QueryParameter("dist", 1000 * rangeInKM),
            new QueryParameter("limit", limit),
            new QueryParameter("page", page - 1));

var rows = Database.ExecuteQuery(query,
            new QueryParameter("accountId", accountId),
            new QueryParameter("orig_lat", latitude),
            new QueryParameter("orig_lon", latitude),
            new QueryParameter("dist", 1000 * rangeInKM),
            new QueryParameter("limit", limit),
            new QueryParameter("page", page - 1));
var rows = Database.ExecuteQuery(query,
            new QueryParameter("accountId", accountId),
            new QueryParameter("orig_lat", latitude),
            new QueryParameter("orig_lon", longitude),
            new QueryParameter("dist", 1000 * rangeInKM),
            new QueryParameter("limit", limit),
            new QueryParameter("page", page - 1));