PreparedStatement setString(…) для всех, даже если соответствующий тип данных является целым числом.

Я столкнулся со следующими кодами, которые, как мне кажется, делают неправильно:

(Обратите внимание, что это JDK 1.4.2, поэтому список не типизирован)

StringBuffer queryBuffer = new StringBuffer();
ArrayList temp = new ArrayList();

... 
queryBuffer.append("and sb.POSTCODE = ? ");
temp.add(postcode);
...

conn = ConnectionManager.getConnection();       
pstmt = conn.prepareStatement(queryBuffer.toString());

Вот что я меня беспокоит:

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));
}

Но я заметил, что некоторые из соответствующих типов данных (полей) в базе данных являются целыми числами и датами, это нормально?

8
задан Oh Chin Boon 16 May 2012 в 02:00
поделиться