Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 9 của 9
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Không kiểm tra được username và password

    Anh em xem giúp em với, kiểm tra Username và Password trùng với database. Làm như thế này đã đúng chưa? nếu sai sửa giúp em cảm ơn all

    Mã:
    private void btnloginActionPerformed(java.awt.event.ActionEvent evt) {    try {        boolean check;        username = txtuser.getText();        password = txtpassword.getText();        stmt = con.createStatement();         rs = stmt.executeQuery("select Username,Password from Admin ");        while(rs.next())        {            if(rs.getString("Username") == username && rs.getString("Password")== password)             {                check = true;                frmMain fm = new frmMain();                fm.setVisible(true);                this.setVisible(false);                break;            }            else            {                JOptionPane.showMessageDialog(this, "Erorr username or password");                txtuser.grabFocus();                return;            }        }    } catch (SQLException ex) {        ex.printStackTrace();    }}

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Thứ nhất là bạn nên đưa code vào tag code nâng cao như mình đã sửa, như thế mới thu hút người trả lời và cũng là tôn trọng người trả lời hỗ trợ bạn.

    Đối với vấn đề của bạn, bạn đã tư duy sai (chính xác là bạn không hiểu về vòng lặp). Trong câu code trên của bạn chỉ đúng nếu người dùng là tài khoản đầu tiên trong danh sách. Bạn chuyển đoạn code ở else block ra ngoài while, thay break ở if block thành return và thử lại.

  3. #3
    Ngày tham gia
    Sep 2015
    Đang ở
    Số 60 Thái Hà, Đống Đa, Hà Nội
    Bài viết
    0
    Trích dẫn Gửi bởi Kevin Hoang
    Thứ nhất là bạn nên đưa code vào tag code nâng cao như mình đã sửa, như thế mới thu hút người trả lời và cũng là tôn trọng người trả lời hỗ trợ bạn.

    Đối với vấn đề của bạn, bạn đã tư duy sai (chính xác là bạn không hiểu về vòng lặp). Trong câu code trên của bạn chỉ đúng nếu người dùng là tài khoản đầu tiên trong danh sách. Bạn chuyển đoạn code ở else block ra ngoài while, thay break ở if block thành return và thử lại.
    Trc hết e sẽ sữa cái sai.
    Cảm ơn anh về vấn đề vòng lặp, có lẽ do trường e quá rặp khuôn 1 + 1 = 2, giờ = 0 em lại bối rối, e cũng gỡ khúc mắc được vấn đề truy xuất = cách sử dụng equal().
    Thanks a

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trong lập trình chuyên nghiệp, người ta thường hạn chế sử dụng if else tới mức thấp nhất. Việc hạn chế if else sẽ làm cho code được ngắn gọn và dễ hiểu hơn rất nhiều. Đây là điều mà trường học thật sự ít khi nói đến, và bản chất tư duy của nhiều giáo viên vẫn 'cồng kềnh, phức tạp' nhưng hiệu quả thực tế lại không cao. Vì thế, hầu hết các sinh viên bướng bỉnh, năng động, cãi giáo viên nhem nhẻm lại có hiệu quả công việc cao hơn các sinh viên chịu khó, miệt mài.

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    @Kevin Hoang cho mình hỏi là tại sao hạn chế sử dụng if else đến mức thấp nhất ? Vậy khi bắt điều kiện thường dùng như thế nào ?

    Bạn có thể nói rõ hơn 1 xíu được ko ?

  6. #6
    Trích dẫn Gửi bởi KilingAngel
    @Kevin Hoang cho mình hỏi là tại sao hạn chế sử dụng if else đến mức thấp nhất ? Vậy khi bắt điều kiện thường dùng như thế nào ?

    Bạn có thể nói rõ hơn 1 xíu được ko ?
    Chắc là bắt exception thay vì soi error code.

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi KilingAngel
    @Kevin Hoang cho mình hỏi là tại sao hạn chế sử dụng if else đến mức thấp nhất ? Vậy khi bắt điều kiện thường dùng như thế nào ?

    Bạn có thể nói rõ hơn 1 xíu được ko ?
    Ví dụ thế này:

    Mã:
    public bool IsGood(int V) {    if (V > 5) return true;    else return false;}
    Và thế này:

    Mã:
    public bool IsGood(int V) {    return V > 5;}
    Hai đoạn mã đó hoàn toàn trả về giá trị giống nhau.

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi SITUVNX
    Ví dụ thế này:

    Mã:
    public bool IsGood(int V) {    if (V > 5) return true;    else return false;}
    Và thế này:

    Mã:
    public bool IsGood(int V) {    return V > 5;}
    Hai đoạn mã đó hoàn toàn trả về giá trị giống nhau.
    Tks bạn đã trả lời, nhưng mình nghĩ đó chẳng qua là cách viết khác nhau thôi, thay vì if else thì .. " ? : " ! Hoặc như bạn nói .v.v.!
    Còn bạn @Kevin Hoàng bảo là viết code sẽ đơn giản và dễ hiểu hơn nên mình không rõ lắm.

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mình không hiểu lắm là như code của cariboga thì nếu không sử dụng if else thì còn cách nào để tối giản code như anh Kevin nói. Bạn nào tối giản được code thì chỉ dùm mình với. Tks

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •