[英]What should we have to pass to method to complete it
我需要通过什么才能完成此方法。 错误是:
DBConnection类型中的方法fireSelect(String,String [],String [])不适用于参数(String)。
这是方法:
public static ResultSet fireSelect(String query, String[] types,
String[] values) {
try {
PreparedStatement ps = getInstance().prepareStatement(query);
if (types != null) {
for (int i = 0; i < types.length; i++) {
if (types[i].equals("int"))
ps.setInt((i + 1), Integer.parseInt(values[i]));
else if (types[i].equals("string"))
ps.setString((i + 1), values[i]);
else if (types[i].equals("double"))
ps.setDouble((i + 1), Double.parseDouble(values[i]));
}
}
return ps.executeQuery();
} catch (Exception e) {
try {
connection = null;
if (cnt < 2) {
connection = getInstance();
cnt++;
fireSelect(query, types, values);
} else {
cnt = 0;
}
} catch (Exception ee) {
System.out.println("Exception :" + ee);
}
}
return null;
}
这是我在校准此方法时使用的
ResultSet rs = DBConnection.fireSelect(
"select dealer_id,car_servicing,car_servicing,cost,features "
+ " from dealer_car,carservicing where "
+ "dealer_car.car_servicing=carservicing.car_servicing and dealer_id="
+ dealerId);
由于您的SQL不需要任何参数,因此您只需
ResultSet rs = DBConnection.fireSelect(sql, null, null);
它需要3个参数,而您仅提供了一个。 只是打电话说,
ResultSet rs = DBConnection.fireSelect("Select Query", null, null);
您需要将所有3个参数传递给函数fireSelect()
您的SQL不需要参数,它是通过串联建立的,这不好。 fireSelect
似乎是使用准备好的语句的帮助者,您正在避免这样做。
fireSelect("select * from ... where id=?", new String[]{"int"}, new String[]{"42"});
即使这样
fireSelect((String)null,(String[])null,(String[])null);
您缺少String []类型和String []值 ,可以将其传递为null (在您的情况下),如果按以下方式调用它会更好:
String sql = "select dealer_id,car_servicing,car_servicing,cost,features from
dealer_car,carservicing where dealer_car.car_servicing=carservicing.car_servicing
and dealer_id=:dealer_id";
String[] types = new String[]{"int"}; //or maybe string?
String[] vals = new String[]{dealerId};
ResultSet rs = DBConnection.fireSelect(sql, types, vals);
您的fireSelect
方法需要3个参数:
您可以使用类似:
ResultSet rs = DBConnection.fireSelect(
"select dealer_id,car_servicing,car_servicing,cost,features "
+ " from dealer_car,carservicing where "
+ " dealer_car.car_servicing=carservicing.car_servicing and dealer_id="
+ dealerId,
new String[]{"int"},
new String[]{dealerId});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.