最初の while ループは 1 つのレコードのみを反復し、次に他の while ループは複数のレコードを反復しますが、最初の while ループは 2 番目以降のレコードへの参照を取得していません。私は2つの異なる結果セットオブジェクトと単一のステートメントオブジェクトを使用していますが、何か間違ったことをしていますか?
public void generateCsvFile()
{
String vSQL = "";
String mSQL = "";
String mDealer_id = "";
try
{
//mSQL = "mSQL"
mSQL = "select distinct em_controller_id as dealer_id from entity_master";
System.out.println("mSQL :: \n"+mSQL);
rs1 = stmt.executeQuery(mSQL);
while(rs1.next())
{
//System.out.println("@#@# Dealer id @##@#::"+rs1.getString("dealer_id"));
mDealer_id = rs1.getString("dealer_id");
vSQL = "select e.em_entity_id,e.em_name,e.em_address_line_1,e.em_address_line_2,e.em_address_line_3,e.em_phone_no_1,e.em_phone_no_2,e.em_dob,e.em_pan_no,e.em_exch_client_id from entity_master e where e.em_controller_id='"+mDealer_id+"'";
System.out.println("vSQL :: \n"+vSQL);
rs = stmt.executeQuery(vSQL);
FileWriter writer = new FileWriter(mDealer_id+".csv");
while(rs.next())
{
System.out.println("em_entity_id !@!@!('"+mDealer_id+"') :: "+rs.getString("em_entity_id"));
System.out.println("ENTITY :: "+rs.getString("em_entity_id"));
writer.append(rs.getString("em_entity_id"));
writer.append(',');
writer.append(rs.getString("em_name"));
writer.append(',');
writer.append(rs.getString("em_address_line_1"));
writer.append(',');
writer.append(rs.getString("em_address_line_2"));
writer.append(',');
writer.append(rs.getString("em_address_line_3"));
writer.append(',');
writer.append(rs.getString("em_phone_no_1"));
writer.append(',');
writer.append(rs.getString("em_phone_no_2"));
writer.append(',');
writer.append(rs.getString("em_dob"));
writer.append(',');
writer.append(rs.getString("em_pan_no"));
writer.append(',');
writer.append(rs.getString("em_exch_client_id"));
writer.append('\n');
}
rs.close();
// //generate whatever data you want
writer.flush();
writer.close();
}
rs1.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}