mam natknąć poniższych kodów czuję, że robi coś złego:setString PreparedStatement (...) dla wszystkich, nawet jeśli corrsponding typ danych jest liczbą całkowitą
(zauważ, że to JDK 1.4.2 dlatego lista nie jest wpisywany)
StringBuffer queryBuffer = new StringBuffer();
ArrayList temp = new ArrayList();
...
queryBuffer.append("and sb.POSTCODE = ? ");
temp.add(postcode);
...
conn = ConnectionManager.getConnection();
pstmt = conn.prepareStatement(queryBuffer.toString());
to co jestem zaniepokojony:
for(int i=0; i<temp.size(); i++) {
log.debug("setString("+ (i+1) + "," + (String)temp.get(i) + ")");
pstmt.setString(i+1, (String)temp.get(i));
}
ale muszę zaznaczyć, że niektóre z odpowiednich typów danych (pole) w bazie danych są liczbami całkowitymi, i daty, Czy to byłoby w porządku?
Nie sądzę, że jest dobra. Wydaje się, że polega to na niejawnym nawróceniu i często prowadzi do smutku na drodze. – Glenn
Zgaduję, że 'temp' jest' List' - czy jest on generalnie wpisany? Proszę pokazać swoją deklarację. –
@Paul Bellora temp jest ArrayList. I nie jest wpisany, ponieważ jest to Java 1.4 –