[英]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.