第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

驗(yàn)證 JavaFX 數(shù)據(jù)庫中已存在的值

驗(yàn)證 JavaFX 數(shù)據(jù)庫中已存在的值

鴻蒙傳說 2023-02-16 15:18:02
當(dāng)我使用 memberId 注冊會員時,如何檢查用戶 id 是否已存在于 members 表中?我試過下面的方法。主鍵是 MemberIDMemberDbController.javapublic static boolean checkMemberID(int memberId){        boolean memberIdExists = false;        Connection conn=DBConnection.getDBConnection().getConnection();        Statement stm = conn.createStatement();        ResultSet rst = stm.executeQuery("SELECT * FROM members WHERE memberId='"+memberId+"'");        String id;        if (rst.next()){            id = rst.getString("memberId");            if(id.equals(memberId)){                memberIdExists = true;            }        }        return memberIdExists;    }MemberUiController.java@FXMLvoid addMember(ActionEvent event) {     //Getting Value from User Input     int memberId = Integer.parseInt(memberIdField.getText());      String name = nameField.getText();     String doa = doaField.getText();     RadioButton selectedRadioButton = (RadioButton)      Gender.getSelectedToggle(); //Getting Selected Radio Button     String gender = selectedRadioButton.getText();     String email = emailField.getText();     String phone = phoneField.getText();     try {         if(MemberDbController.checkMemberID(memberId)){             Member member = new Member(memberId,name,doa,gender,email,phone);             int i = MemberDbController.AddMember(member);             if (i > 0) {                                             //Insert Success Alert                                                    }             else{                //Insert Failed Alert             }         }else{             //Member ID Already Exists Alert..!         }    } catch (ClassNotFoundException e) {        e.printStackTrace();    } catch (SQLException e) {        e.printStackTrace();    }}它會針對重復(fù)條目和新條目拋出一個已經(jīng)存在的警報。
查看完整描述

1 回答

?
阿晨1998

TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個贊

你正在比較String一個Integer對象。這總是產(chǎn)生false:


public static boolean checkMemberID(int memberId) ... {

    int memberId

    ...

    String id;

    ...

    if(id.equals(memberId)){

編譯后的版本 id.equals(memberId)是一樣的id.equals(Integer.valueOf(memberId))


無論如何都不需要檢查列值,因?yàn)槟腤HERE子句不會接受此列中具有不同值的行。(這里與字符串文字相比對我來說似乎很奇怪。你確定列的類型是文本類型嗎?)


以下內(nèi)容應(yīng)該足夠了:


public static boolean checkMemberID(int memberId) throws SQLException, ClassNotFoundException {

    Connection conn=DBConnection.getDBConnection().getConnection();

    Statement stm = conn.createStatement();

    ResultSet rst = stm.executeQuery("SELECT * FROM members WHERE memberId='"+memberId+"'");


    return rst.next();

}

此外,如果值不存在但當(dāng)前存在,則addMember您將結(jié)果視為返回。true


SQLIntegrityConstraintViolationException請注意,假設(shè)這是表的唯一約束,嘗試插入查詢立即捕獲 a 實(shí)際上可能更好。否則您可能需要檢查有問題的錯誤,因?yàn)殄e誤消息取決于所使用的數(shù)據(jù)庫。


查看完整回答
反對 回復(fù) 2023-02-16
  • 1 回答
  • 0 關(guān)注
  • 137 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號