javaQQ
January 21st, 2003, 01:08 PM
The Sun JDBC Tutorial shows how to place PreparedStatement values in a loop, in this manner:
The statement below works. But I need to place all the values into a loop
String registerSoldiersStr =
" INSERT INTO Soldiers ( " +
" name, " +
" rank, " +
" serial_number, " +
" ) " +
" SELECT " +
" name, " + // name,
" ?, " + // rank,
" CONCAT( SourceTable.group_number, ' - ', LPAD( ?,3,\"0\" ) ) " // serial_number,
" FROM SourceTable " +
" WHERE some_id = ? "
;
PreparedStatement registerSoldiers = con.prepareStatement ( registerSoldiersStr );
for( int i = 0; i < sources; i++ ) {
registerSoldiers.setString( 1, (String)((Vector)sourceDataVector.elementAt(i)).elementAt(0) ); //
registerSoldiers.setString( 2, (String)((Vector)sourceDataVector.elementAt(i)).elementAt(1) ); //
int rs = registerSoldiers.executeUpdate();
}
How would I set all of the values above in a loop, as below?
...
" SELECT " +
" ?, " + // name,
" ?, " + // rank,
" ? // serial_number,
" FROM SourceTable " +
" WHERE some_id = ? "
;
PreparedStatement registerSoldiers = con.prepareStatement ( registerSoldiersStr );
for( int i = 0; i < sources; i++ ) {
registerSoldiers.setString( 1, ~then "name" value~ ); //
registerSoldiers.setString( 2, (String)((Vector)sourceDataVector.elementAt(i)).elementAt(1) ); //
registerSoldiers.setString( 3, (String)((Vector)sourceDataVector.elementAt(i)).elementAt(2) ); //
registerSoldiers.setString( 4, ~then concatenated value~); //
int rs = registerSoldiers.executeUpdate();
}
Many thanks in advance.
The statement below works. But I need to place all the values into a loop
String registerSoldiersStr =
" INSERT INTO Soldiers ( " +
" name, " +
" rank, " +
" serial_number, " +
" ) " +
" SELECT " +
" name, " + // name,
" ?, " + // rank,
" CONCAT( SourceTable.group_number, ' - ', LPAD( ?,3,\"0\" ) ) " // serial_number,
" FROM SourceTable " +
" WHERE some_id = ? "
;
PreparedStatement registerSoldiers = con.prepareStatement ( registerSoldiersStr );
for( int i = 0; i < sources; i++ ) {
registerSoldiers.setString( 1, (String)((Vector)sourceDataVector.elementAt(i)).elementAt(0) ); //
registerSoldiers.setString( 2, (String)((Vector)sourceDataVector.elementAt(i)).elementAt(1) ); //
int rs = registerSoldiers.executeUpdate();
}
How would I set all of the values above in a loop, as below?
...
" SELECT " +
" ?, " + // name,
" ?, " + // rank,
" ? // serial_number,
" FROM SourceTable " +
" WHERE some_id = ? "
;
PreparedStatement registerSoldiers = con.prepareStatement ( registerSoldiersStr );
for( int i = 0; i < sources; i++ ) {
registerSoldiers.setString( 1, ~then "name" value~ ); //
registerSoldiers.setString( 2, (String)((Vector)sourceDataVector.elementAt(i)).elementAt(1) ); //
registerSoldiers.setString( 3, (String)((Vector)sourceDataVector.elementAt(i)).elementAt(2) ); //
registerSoldiers.setString( 4, ~then concatenated value~); //
int rs = registerSoldiers.executeUpdate();
}
Many thanks in advance.