私はプログラミングが初めてで、netbeans 8.1を使ってプログラムをコーディングしました。私のプログラムは、jTableで検索されるすべての関連項目を表示するためのものです。そして、別のjTableで特定の項目を選択することができます。私はrs2xmlを使用してjTableのメソッドを作成し、正常に動作します。しかし、私はそれを使用した後、私の検索は間違っています。それは検索のための正しい項目を表示しません。ライブラリ検索からrs2xml.jarを削除すると正しく動作しますが、アイテムを選択するとjTableに表示されません。私はこれを理解できません。ここrs2xml.jarを使用せずにjTableのメソッドを作成できますか?
は、検索項目のためのコードです:
private void txtSearchKeyReleased(java.awt.event.KeyEvent evt) {
try {
@SuppressWarnings("LocalVariableHidesMemberVariable")
ResultSet rs = oilmart.getConnection().createStatement().executeQuery("SELECT * FROM stock WHERE Item_Name LIKE '%" + txtSearch.getText() + "%'");
if (rs.next()) {
billinfo();
txtPlace.setText(rs.getString("Place"));
} else {
JOptionPane.showMessageDialog(this, "Result not found", null, JOptionPane.ERROR_MESSAGE, null);
}
} catch (SQLException | HeadlessException e) {
}
// TODO add your handling code here:
}
そして、これは私がrs2xml.jarを使用して作成したテーブル方式です:
public void billinfo() {
DefaultTableModel dtm = (DefaultTableModel) tblBillinfo.getModel();
dtm.setRowCount(0);
try {
@SuppressWarnings("LocalVariableHidesMemberVariable")
ResultSet rs = oilmart.getConnection().createStatement().executeQuery("SELECT * FROM stock WHERE Item_Name LIKE '%" + txtSearch.getText() + "%'");
while (rs.next()) {
Vector v = new Vector();
v.add(rs.getString("Item_No"));
v.add(rs.getString("Item_Name"));
v.add(rs.getString("Qty"));
v.add(rs.getString("Price_per_Qty"));
v.add(rs.getString("Place"));
buy_price = Integer.parseInt(rs.getString("Price_per_Qty"));
dtm.addRow(v);
tblBillinfo.setModel(DbUtils.resultSetToTableModel(rs));
}
} catch (Exception e) {
}
}
そして、これは、特定の項目を選択するためのものである:
private void tblBillinfoMouseClicked(java.awt.event.MouseEvent evt) {
x++;
int r = tblBillinfo.getSelectedRow();
String no = tblBillinfo.getValueAt(r, 0).toString();
String name = tblBillinfo.getValueAt(r, 1).toString();
String buy = tblBillinfo.getValueAt(r, 3).toString();
buy_price = (int) tblBillinfo.getValueAt(r, 3);
String plc = tblBillinfo.getValueAt(r, 4).toString();
tblBill.setValueAt(no, x, 0);
tblBill.setValueAt(name, x, 1);
tblBill.setValueAt(buy, x, 2);
txtPlace.setText(plc);
}
これを理解するのを手伝ってください。ありがとう。
dtm.addRow(v);
しかし、その後、あなたの非常に次の文がResultSet内のデータの残りの行で最初の行を置き換えます。
「jTableのメソッドを作成する」という意味を明確にすることはできますか? – David
私は自分のインターフェースに2つのテーブルを持っています。最初に、検索に関連するすべての項目が表示されます。そのテーブルのためのメソッドです。その表をクリックすると、選択した項目が他の表に表示されます。 –