我想展示一些问题及其答案。为了测试我只是试图显示问题编号和问题,但是有

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver


错误,我不知道下一步该怎么做。
1.我想用“下一步”按钮显示下一条记录。
2. seteditable不起作用(给出错误)

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String qid=jTextField1.setEditable(false);
String qid=jTextField1.getText();
String ques=jTextField2.getText();

 try{
            Class.forName("com.mysql.jdbc.Driver");
            Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb1","root","");
            PreparedStatement ps = con.prepareStatement("select * from qc where qid=1");
            ResultSet rs=ps.executeQuery();
            if(rs.next()){
                jTextField1.setText(rs.getString("qid"));
                jTextField2.setText(rs.getString("ques"));
            }
            }
            catch(ClassNotFoundException | SQLException e)
            {
            System.out.println(e);
            }
}

private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
}

最佳答案

确保在类路径中有MySql-Driver。

您可以在这里下载:https://dev.mysql.com/downloads/connector/j/5.0.html

配置类路径取决于您的环境。如果您在Eclipse中运行代码,则可以按照以下步骤操作:


下载jdbc驱动程序
将jdbc驱动程序(例如mysql-connector-java-5.0.8-bin.jar)放入eclipse项目
右键单击Build PathAdd to Build Path


使用netbeans:


下载jdbc驱动程序
将jdbc驱动程序(例如mysql-connector-java-5.0.8-bin.jar)放入您的netbeans项目
右键单击项目,属性,转到库,选择运行时库
将罐子添加到列表中




要跳到下一个项目,有几个选项。

一种解决方案可能如下所示:

在班级顶部添加以下代码:

// private JTextField jTextField1;
// private JTextField jTextField2;
// ...
private int currentQid; // add this line to declare a new field of type int


然后在您的actionlistener方法中:

PreparedStatement ps = con.prepareStatement("SELECT * FROM qc WHERE qid > ? ORDER BY qid LIMIT 1");
ps.setInt(1, currentQid);
ResultSet rs=ps.executeQuery();
if(rs.next()){
    currentQid = rs.getInt("qid");
    jTextField1.setText(Integer.toString(currentQid));
    jTextField2.setText(rs.getString("ques"));
}


详细地:


SELECT * FROM qc WHERE qid > ? ORDER BY qid LIMIT 1将选择记录,其qid紧挨?
ps.setInt(1, currentQid);将查询的第一个参数(?)设置为提供的值
currentQid = rs.getInt("qid");将下一个qid保存在实例字段currentQid
Integer.toString(currentQid)会将currentQid转换为文本
jTextField1.setText(...);将在jTextField1中显示文本

关于java - 在jTextField中显示数据库记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31625726/

10-09 03:06