2014-02-11 50 views
0

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

好吧,有一件事是,您必须在检索结果后关闭连接 – Leo

回答

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

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

+0

感谢您在帮助后能够解决此问题。 – user2461116

相关问题