gpt4 book ai didi

java - 根据第一个表列中的数据从单独的表中选择列

转载 作者:行者123 更新时间:2023-11-29 21:43:13 25 4
gpt4 key购买 nike

我正在尝试根据第一个查询从单独的表中选择数据。

Appointment Table

Treatment Table

我有一个文本框供用户输入其患者 ID,当按下“搜索”按钮时,应用程序将在数据库中查询患者的 ID 号,并在左侧的名称表和应用程序下显示治疗名称还将根据所进行的治疗搜索相关费用并将其显示在右侧。我当时只能在应用程序上显示一个查询,我不知道为什么它不能运行两个查询。

private void button_SearchActionPerformed(java.awt.event.ActionEvent evt) {                                              
// when this is clicked total costs loads
//by adding all of the costs column
try{
String str = field_PatientNumber.getText();
int f = Integer.parseInt(str);
String sql = "SELECT TreatmentName FROM Appointment WHERE PatientID='"+ f +"'";
String sql2 = "SELECT Cost FROM Treatment WHERE Name IN (SELECT TreatmentName FROM Appointment WHERE PatientID='"+ f +"')";
//String treatmentName = rs.getString("TreatmentName");

//System.out.println(treatmentName);
//String sql2 = "SELECT Cost FROM Treatment where Name='"+ treatmentName +"'";
rs = stmt.executeQuery(sql);
rs2 = stmt.executeQuery(sql2);
stmt = con.prepareStatement(sql);
stmt = con.prepareStatement(sql2);
jTableName.setModel(DbUtils.resultSetToTableModel(rs));
jTableCost.setModel(DbUtils.resultSetToTableModel(rs2));

double s=0;
for(int i=0;i<jTableCost.getRowCount();i++){
String d= jTableCost.getValueAt(i, 0).toString();
double d1=Double.parseDouble(d);
s+=d1;
}

String totalCost = String.valueOf(s);
field_TotalCosts.setText(totalCost);

}
catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}

最佳答案

您正在覆盖您的一个变量。

stmt = con.prepareStatement(sql);       
stmt = con.prepareStatement(sql2);

http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html显示一个示例,但在这种情况下它们是分开的 - 引用:

...
updateSales = con.prepareStatement(updateString);
updateTotal = con.prepareStatement(updateStatement);

事实上,再仔细观察一下,您在实际准备语句之前就已经执行了它们。

关于java - 根据第一个表列中的数据从单独的表中选择列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34317696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com