亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將數據庫連接到 GUI

將數據庫連接到 GUI

守候你守候我 2024-01-05 14:46:01
我在讓我的代碼與 GUI 一起正常工作時遇到了一些困難。我創建了一個連接到數據庫的簡單登錄程序,該程序在 GUI 中允許用戶輸入用戶名和密碼,然后提示數據庫以查看用戶名和密碼是否存在。我創建了一個連接到數據庫的類和一個執行 SQL 語句的 DAO 類。我還有兩個類,其中一個是接口,另一個包含稍后未實現的方法?,F在,我遇到的問題是將 GUI 連接到我的數據庫,這應該通過 DAO 類來完成。我的 GUI 有兩個文本字段,應該用來比較用戶名和密碼,但我不知道該怎么做。另外,我的 DAO 類并未完全實現它,因為它采用 int 作為參數。如果你能幫助我,我將不勝感激。UserDAO 類:public class UserDAO implements IDao<User> {    DemoDB DemoDBSingleton = null;    public UserDAO() {        DemoDBSingleton = DemoDB.getInstance();    }    @Override    public User get(int id) throws NoSuchElementException {        User user = null;        try {            ResultSet resultSet = DemoDBSingleton                    .excecuteQuery("SELECT user_name, password FROM users WHERE id=" + id);            if (!resultSet.next())                throw new NoSuchElementException("The user " + id + " doesn't exist in database");            else                DemoDBSingleton.close();        } catch (SQLException e) {            e.printStackTrace();        }        return user;    }}
查看完整描述

1 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

也許如果你這樣做


public class UserDAO implements IDao<User> {


    DemoDB DemoDBSingleton = null;


    public UserDAO() {

        DemoDBSingleton = DemoDB.getInstance();

    }


    @Override


    public boolean login(String userName, String password) throws NoSuchElementException {

        boolean login = false;

        try {

            ResultSet resultSet = DemoDBSingleton

                    .excecuteQuery("SELECT user_name, password FROM users WHERE user_name='" + userName + "' AND password = '" + password + "'");

            if (resultSet.next())

                login = true;

        } catch (SQLException e) {

            e.printStackTrace();

        }

        DemoDBSingleton.close();

        return login;

    }

}

并更正您的文本字段


JTextField txtUserName = new JTextField(10);

JPasswordField txtPassword = new JPasswordField(10);

和點擊事件


private class ClickListener implements ActionListener {


    @Override

    public void actionPerformed(ActionEvent e) {

        UserDAO userDao = new UserDAO();


        if (userDao.login(txtUserName.getText(), txtPassword.getText())) {

            // here you redirect to your main window

        }

        else

            JOptionPane.showMessageDialog(null, "Incorrect user or password!!!");

    }


}


查看完整回答
反對 回復 2024-01-05
  • 1 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號