【发布时间】:2014-02-26 11:27:47
【问题描述】:
我的代码有问题: String charitysql = "SELECT wardName, charityRoomID FROM tbl_charityward,tbl_charityroom2 <br>WHERE tbl_charityward.charityWardID = tbl_charityroom2.charityWardID";<br>
try {
pst = conn.prepareStatement(charitysql);
rs = pst.executeQuery();
while (rs.next()) {
String wardname = rs.getString("wardName");
cb_ward2.addItem(wardname);
String roomid = rs.getString("charityRoomID");
cb_room2.addItem(roomid);
}
}
catch(Exception e) {
JOptionPane.showMessageDialog(null, e);
}
这是我的表格结构:tbl_charityward
charityWardID int NOT NULL AUTO_INCREMENT,
wardName varchar(20),
status varchar(20),
PRIMARY KEY (charityWardID)
tbl_charityRoom2
charityRoomID INT NOT NULL AUTO_INCREMENT,
status varchar(20),
charityWardID int,
PRIMARY KEY (charityRoomID, charityWardID),
FOREIGN KEY (charityWardID) REFERENCES tbl_charityward (charityWardID)
这是我的带有值的表格:tbl_charityward
+-------------+----------+--------+
|charityWardID| wardName | status |
+-------------+----------+--------+
|......1......| Surgical |..Open..|
|......2......| .Obygine |..Open..|
|......3......| Pediatric|..Open..|
+-------------+----------+--------+
tbl_charityroom2
+-------------+--------+-------------+
|charityRoomID|状态 |charityWardID|
+-------------+--------+-------------+
|......1......|..打开..|......1......|
|......2......|..打开..|......1......|
|......3......|..打开..|......2......|
+-------------+--------+-------------+
我有 2 个组合框:cb_ward2 = which contains wardName<br>
cb_room2 = which contains CharityRoomID
如果我从cb_ward2 中选择一个wardName,那么cb_room2 将显示相应的charityRoomID。
示例:
我选择Surgical,charityRoomID = 1, 2 将出现在cb_room2,
当我选择Obygine 时,charityRoomID = 3 只会出现在cb_room2,
但是当我选择Pediatric 时,没有charityRoomID will appear on cb_room2
我正在使用 Netbeans 和 MYSQL
编辑:
导入 java.sql.*;
导入 javax.swing.*;
公共类 addBed 扩展 javax.swing.JFrame { 连接 conn = null; 结果集 rs = null; PreparedStatement pst = null; /** * 创建新表单 addBed */ 公共添加床(){ 初始化组件(); } 无效负载组合(){ 尝试 { 字符串charitysql =“从tbl_charityward选择病房名称,charityRoomID,tbl_charityroom2 WHERE tbl_charityward.charityWardID =?”; pst = conn.prepareStatement(charitysql); pst.setInt(1,tbl_charityroom2.charityWardID); rs = pst.executeQuery(); 而(rs.next()){ cb_ward2.addItem(rs.getString(1)); cb_room2.addItem(rs.getString(2)); } } 捕获(异常 e){ JOptionPane.showMessageDialog(null, e); } } 私人无效formWindowOpened(java.awt.event.WindowEvent evt){ conn = myconn.ConnectDb(); 加载组合(); } 私人无效btn_add2ActionPerformed(java.awt.event.ActionEvent evt){ }
【问题讨论】: