Java 从数据库中获取值,并根据ComboBox中的选择输出if或else语句
数据库信息 数据库名称是contact 行是答案,在sqlite中是bool 行中的值为0或1 0表示假,1表示真 组合框名称为answerCall text字段名称为Java 从数据库中获取值,并根据ComboBox中的选择输出if或else语句,java,sqlite,combobox,Java,Sqlite,Combobox,数据库信息 数据库名称是contact 行是答案,在sqlite中是bool 行中的值为0或1 0表示假,1表示真 组合框名称为answerCall text字段名称为textACall 选择JCombobox后,我想 System.out.println ("Do Not Answer!"); 或 进入文本字段 到目前为止,它仅打印到控制台,而不是文本字段 它只打印应答电话!无论组合框的选择是什么 如果有人能帮我纠正这一点,我将不胜感激 private void answerCallAc
textACall
选择JCombobox
后,我想
System.out.println ("Do Not Answer!");
或
进入文本字段
到目前为止,它仅打印到控制台
,而不是文本字段
它只打印应答电话!无论组合框的选择是什么
如果有人能帮我纠正这一点,我将不胜感激
private void answerCallActionPerformed(java.awt.event.ActionEvent evt) {
String ans= (String) answerCall.getSelectedItem();
try {
String sql = "SELECT * FROM contact WHERE Answer='"+ans+"'";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
if (ans.equals("1")) {
textACall.setText(ans);
System.out.println ("Do Not Answer!");
} else {
System.out.println("Answer Call!");
}
} catch(Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
我想说的是,ans不是你想象的那样。我将放置一个System.out.println(“““+ans+””);在if语句前一行。好的,你的权利,它没有打印任何内容。那么我在这里哪里出了问题?我需要DB contact根据组合框中名称的选择在第行回答时提供的值。@NichoDiaz谢谢。请接受我的回答。如果需要数据库中的值,则需要从结果集中获取它们。您正在使用选择框中的选定项。如果你仍然需要帮助,你可能应该开始一个新的问题。
private void answerCallActionPerformed(java.awt.event.ActionEvent evt) {
String ans= (String) answerCall.getSelectedItem();
try {
String sql = "SELECT * FROM contact WHERE Answer='"+ans+"'";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
if (ans.equals("1")) {
textACall.setText(ans);
System.out.println ("Do Not Answer!");
} else {
System.out.println("Answer Call!");
}
} catch(Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}