我有一个 JTable
,在其中显示数据库表中的所有数据,并且有一个 JTextField
,我将在其中搜索字符串,例如 "FIRSTNAME"
的联系人,然后我想使用 JOptionPane
在消息中显示输出。
请告诉我我做错了什么。
package ContactPackage;
import java.sql.Connection;
import javax.swing.JOptionPane;
import oracle.jdbc.OraclePreparedStatement;
import oracle.jdbc.OracleResultSet;
public class viewContacts extends javax.swing.JFrame {
Connection conn = null;
OraclePreparedStatement pst = null;
OracleResultSet rs = null;
public viewContacts() {
initComponents();
}
private void searchContacts()
{
conn = JavaConnectDb.ConnecterDb();
try
{
String sql = "select * from CONTACTS where FNAME=?";
pst = (OraclePreparedStatement) conn.prepareStatement(sql);
pst.setString(1, searchContact.getText());
rs = (OracleResultSet) pst.executeQuery();
if(rs.next()) {
JOptionPane.showMessageDialog(null, sql);
}else{
JOptionPane.showMessageDialog(null, "Not Found");
}
}catch (Exception e) { JOptionPane.showMessageDialog(null, e); }
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
searchContacts();
}
最佳答案
if(rs.next()) {
JOptionPane.showMessageDialog(null, sql);
您在此处显示 SQL 查询文本,而不是其结果。
您需要从返回的结果集中获取结果rs
。
关于java - 从数据库中搜索并显示输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21715572/