Java 从数据库中搜索并显示输出
我有一个Java 从数据库中搜索并显示输出,java,sql,oracle,swing,netbeans,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.j
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();
}
此处显示的是SQL查询文本,而不是结果。您需要从返回的结果集
rs
中获取结果。有一件事是,您必须在检索结果后关闭连接。在您的帮助下,Hanks能够解决此问题。
if(rs.next()) {
JOptionPane.showMessageDialog(null, sql);