直接把公式写到where条件里就行了啊
select x,y那如果我的a,b是要外面传入的。比如说
double a = d.getA();
double b = d.getB();
String sql="select x,y from t_callcarinfo
where (x-a)*(x-a)+(y-b)*(y-b)<=r*r";
这个a和b要怎么填到里面去是不会错的呢?
C#是这样:
//创建SqlCommand对象追问
double a = driverInfo.getLongitude();
double b = driverInfo.getLatitude();
String sql =
"select x,y from userinfo where (x-"+a+")*(x-"+a+")+(y-"+b+")*(y-"+b+")<=1";
java 这样写对吗?不管怎么样,你这么认真地回答我的问题,十分感谢!
不要这么写,用参数方式比较好。类似于下面这样:
PreparedStatement pstmt = con.prepareStatement("select * from table where name = ?");那如果我的a,b是要外面传入的。比如说
double a = d.getA();
double b = d.getB();
String sql="select * from t_callcarinfo
where power((slongitude-?),2)+power((slatitude-?),2)=power(1,2)";
这个a和b要怎么填到?那里去是不会错的呢?