从数据库中搜索并显示输出

时间:2014-02-11 23:38:29

标签: java sql oracle swing netbeans

我有一个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();
} 

1 个答案:

答案 0 :(得分:2)

    if(rs.next()) {
        JOptionPane.showMessageDialog(null, sql);

您在此处显示SQL查询文本,而不是结果 您需要从返回的结果集rs中获取结果。