我正在为考试创建药房管理表格,我有2个表格,第一个表格用于将药品数据输入库存,第二个表格类似于收银员,您输入客户名称,他/她购买什么药品,多少,价格。问题出在第二种形式中,有一个组合框,我想用我已经通过第一种形式输入的药物数据来获取组合框,但是组合框不会显示任何内容。我的程序在MVC中运行
下面这些来自模型文件的代码,我认为这与我的问题有关。
// This method for display drug name into drug name combo box
public List<Transaction> fillcomboboxdrug() {
PreparedStatement statement;
List<Transaction> list = null;
try {
list = new ArrayList();
String DISPLAYDRUG = "SELECT * FROM drug order by drug_name";
statement = connection.prepareStatement(DISPLAYDRUG);
ResultSet rs = statement.executeQuery();
while (rs.next()) {
Transaction T = new Transaction();
T.setNamedrug(rs.getString("drug_name"));
list.add(T);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
// This method to show drug code depend to the drug who choosen in combo box, yeah i have a form to show the drug code
public List<Transaction> getdrugcode(String drugname) {
PreparedStatement statement;
List<Transaction> list = null;
try {
list = new ArrayList();
String FINDDRUG = "SELECT * FROM drug where drug_name=?";
statement = connection.prepareStatement(FINDDRUG);
statement.setString(1, drugname);
ResultSet rs = statement.executeQuery();
while (rs.next()) {
Transaction T = new Transaction();
T.setCodedrug(rs.getInt("cd_drug"));
list.add(T);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
// This method to show drug name depend to drug code input
public List<Transaction> getdrugname(Integer code) {
PreparedStatement statement;
List<Transaction> list = null;
try {
list = new ArrayList();
String FINDDRUG2= "SELECT * FROM drug where cd_drug=?";
statement = connection.prepareStatement(FINDDRUG2);
statement.setInt(1, code);
ResultSet rs = statement.executeQuery();
if (!rs.next()) {
JOptionPane.showMessageDialog(null, "Data Not Found!");
} else {
Transaction T = new Transaction();
T.setNamedrug(rs.getString("drug_name"));
list.add(T);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
还有我的控制器文件中的泰斯代码
// To call fillcomboboxdrug method from model file
public void fetchdrugcmb() {
form.getCmbdrug().removeAllItems();
form.getCmbdrug().addItem("-Choose-");
for (Transaction T : model.fillcomboboxdrug()) {
form.getCmbdrug().addItem(T.getDrugname());
}
}
// To call getdrugcode method from model file
public void displaydrugcode() {
if (form.getCmbdrug().getSelectedIndex() != 0) {
for (Transaction T : model.getdrugcode(form.getCmbdrug().getSelectedItem().toString())) {
form.getTxtcddrug().setText(String.valueOf(T.getCddrug()));
}
}
}
// To call getdrugname method from model file
public void displaydrugname() {
for (Transaction T : model.getdrugname(Integer.parseInt(form.getTxtcddrug().getText()))) {
form.getCmbdrug().setSelectedItem(T.getNmdrug());
}
}
部分交易表格的图片:
。
我只需要确切的一句话,就是从组合框中选择药品名称后,所有相关数据都提取为另一种形式,即价格形式,库存形式,数量和药品代码。但是组合框未显示药物名称。
图片注释,在Bahasa中表示抱歉,(1)Nama Obat =药品名称,(2)Atau masukan kode obat pada格式为“ Kode Obat” =或将药品代码输入“ Drug Code”形式,(3)Pilih Obat =选择药品,(4)Kode Obat =药品代码,(5)Harga =价格,(6)数量=数量,(7)Stok =库存