一部の人が意図せずに気分を害したように見えるので、質問を言い換えています(私はJavaの初心者です):(
DB2 データベースに接続しています - ResultSet には、テーブル V_LVCS の最初の 10 行が含まれています。
これを実現したい!
while (rs.next())
{ keys[i] = new V_LVCS();
keys[i] = this_Row_Object;
}
私は V_LVCS オブジェクトの配列を求めています。現在、以下に示すように各データ行を V_LVCS オブジェクトに変換していますが、これを行うためのより高速な方法があると思います。
public class V_LVCS {
public String SERIAL;
public String TRANSFORMERID;
public String LVT;
public V_LVCS() {
}
public V_LVCS(String Serial, String Transformerid, String lvt) {
this.SERIAL = Serial;
this.TRANSFORMERID = Transformerid;
this.LVT = lvt;
}
public V_LVCS[] getAllV_LVC() {
try {
Connection conn = getAMMDBConnection();
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rs;
rs = stmt.executeQuery("SELECT * FROM V_LVC FETCH FIRST 10 ROWS ONLY");
rs.last();
int numRows = rs.getRow();
V_LVCS[] keys = new V_LVCS[numRows];
rs.beforeFirst();
int i = 0;
while (rs.next()) {
keys[i] = new V_LVCS();
keys[i].SERIAL = (rs.getString("SERIAL") == null) ? "" : rs.getString("SERIAL");
keys[i].LVT = (rs.getString("LVT") == null) ? "" : rs.getString("LVT");
keys[i].TRANSFORMERID = (rs.getString("TRANSFORMERID") == null) ? "" : rs.getString("TRANSFORMERID");
++i;
}
conn.close();
System.out.println("stop!");
return keys;
} catch (Exception e) {
System.err.println("Got an exception! ");
// System.err.println(e.printStackTrace());
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
return null;
}
}
}
私はあなたの考えに本当に感謝しています!(そして、-ve スコアで罰せられる前に、数時間の闘いを望んでいました!)