java - 如何在swing中将数据库中的记录显示到jtextfield?

标签 java swing ms-access

先生/女士 需要您的帮助

我想在文本字段上显示数据库中的记录。即使代码调试成功,我也没有得到结果

我是编程语言新手

*这是我的代码*

 import java.awt.Container;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.sql.*;
 import javax.swing.*;
 public abstract class customer_details extends JFrame implements ActionListener 
 {
JTextField cust_id,cust_nm,cont;
JLabel l1,l2,l4,l5;
JButton b1,b2;
private PreparedStatement ps;
Container c = getContentPane();    
customer_details()
{
    super("ancfsdfasdfasfas");
    setBounds(140,250,777,555);
    c.setLayout(null);
    cust_id = new JTextField();
    l1 = new JLabel("Update Customer Details");
    l2 = new JLabel("Customer Id");
    l1.setBounds(10,10,340,20);        
    l2.setBounds(10,20,140,70);
    l4 = new JLabel("Customer Name");
    l4.setBounds(90,140,100,20);
    cust_nm = new JTextField();
    cust_nm.setBounds(90,160,160,20);
    l5 = new JLabel("Contact No");
    l5.setBounds(270,140,100,20);
    cont = new JTextField();
    cont.setBounds(270, 160, 100, 20);
    cust_id.setBounds(10,70,70,20);
b1 = new JButton("View");       
b1.setBounds(90,70,90,20); 
    b2 = new JButton("Update");
    b2.setBounds(10,200,90,20);
    c.add(l1);
    c.add(l2);
    c.add(l4);
    c.add(l5);
    c.add(cust_id);
    c.add(cust_nm);
    c.add(cont);
    c.add(b1);  
    c.add(b2);
    setVisible(true);
    setDefaultCloseOperation(EXIT_ON_CLOSE);  
    b1.addActionListener(this);
    b2.addActionListener(this);
}
public static void main(String[] args) 
{
    customer_details cpap=new customer_details() {};
}
public void actionPerformed(ActionEvent e)
{               
    System.out.println("You clicked the button");
    if(e.getSource()==b1)
    {
        try 
        {
            Connection con;
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            con = DriverManager.getConnection("jdbc:odbc:Dalvi");
            ResultSet rs = null;
            try 
            {
                java.sql.Statement st = con.createStatement();
                PreparedStatement ps = con.prepareStatement("select from customer_details (customer_name,contact_no) where customer_id=?)");                          
                ps.setString(1,cust_id.getText());                    
                if (rs.next()) 
                {                       
                    cust_nm.setText(rs.getString("customer_name"));
                    cont.setText(rs.getString("contact_no"));                       
                } 
                JOptionPane.showMessageDialog(null,"You Successfully Deleted The Customer");                           
                    } 
                    catch (SQLException s) 
                    {
                        System.out.println("SQL code does not execute.");
                        JOptionPane.showMessageDialog(null,"Please Enter the Detail Correctly");   
                    }
                } 
                catch (ClassNotFoundException | SQLException ee) 
                {
                    System.out.println("Error:connection not created");
                    JOptionPane.showMessageDialog(null,"Please Enter the Detail Correctly");
                }
            }               
        }

}

感谢您的帮助:)

最佳答案

目前,根据您的示例,您应该会遇到异常...

select from customer_details (customer_name,contact_no) where customer_id=?

不是有效的查询。它应该看起来更像

select customer_name, contact_no from customer_details where customer_id=?

关于java - 如何在swing中将数据库中的记录显示到jtextfield?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21082268/

相关文章:

java - 向后打印数组 - 不打印最后一个条目! - java

Java HeapDumps 表明在 OutOfMemory 异常后使用的堆大小比实际堆定义小 30%

Java 的 Swing 线程

java - 无模式 JDialog 需要在父级之上可见

java - 远程连接 Access 数据库?

ms-access - environ ("username") 与 advapi32.dll

java - 如何将外部jar文件添加到maven

java - 修复语法或拼写错误?

java - 如果 JTextFeild 在 JFrame 中,则 JTextPane select() 不起作用

vba - 以编程方式将参数传递到 Access 报告中