我想展示一些问题及其答案。为了测试我只是试图显示问题编号和问题,但是有
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 Path
,Add 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/