Java从mysql数据库错误填充jcombobox

时间:2015-01-02 05:15:40

标签: java mysql jcombobox

我在尝试从我的sql数据库中检索数据到j组合框时出错:

  

“您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以获得正确的语法错误“

public class NewJFrame extends javax.swing.JFrame {
Connection con=null;
PreparedStatement pst=null;
ResultSet rs=null;
/** Creates new form NewJFrame */
public NewJFrame() {
    initComponents();
    fillcombo();

}
private void fillcombo(){
try{
con=Connect.ConnectDB();
String sql="select * from leave";
pst=con.prepareStatement(sql);
rs=pst.executeQuery();
if(rs.next())
 {
     String nm=rs.getString("combo");
jComboBox1.addItem(nm);
 }
  }
catch(Exception e)
{ JOptionPane.showMessageDialog(null, e);
 }

 }

1 个答案:

答案 0 :(得分:2)

请勿从ConnectionStatement创建字段。 LEAVE是一个mysql保留字(因此必须转义名为leave的表)。另外,如果您只想要一列,请不要选择splat。最后,你应该close你的数据库资源(假设你使用的是Java 7或更新版本,你可能会使用try-with-resources,否则你需要一个finally块)像

String sql = "SELECT combo FROM `leave`";
try (Connection con = Connect.ConnectDB();
        PreparedStatement pst = con.prepareStatement(sql);
        ResultSet rs = pst.executeQuery()) {
    if (rs.next()) {
        String nm = rs.getString("combo");
        jComboBox1.addItem(nm);
    }
} catch (Exception e) {
    JOptionPane.showMessageDialog(null, e);
}