Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: C# không hiển thị kết quả như mong muốn khi thao tác với CSDL

  1. #1
    Ngày gia nhập
    09 2010
    Bài viết
    18

    Mặc định C# không hiển thị kết quả như mong muốn khi thao tác với CSDL

    Em có nút Login, tùy theo quyền của tk đăng nhập mà sẽ gọi ra FormMain có các nút khác nhau, nhưng ko lấy đc permission theo user và password đã nhập, không có báo lỗi gì cả:
    Code:
    ...
    public string permission;
            string username;
    private void buttonLogin_Click(object sender, EventArgs e)
            {
                SqlConnection connect;
                SqlCommand command;
                SqlDataReader reader;
                string user = textTK.Text;
                string pass = textMK.Text;
                string s1 = "select permission FROM dangnhap Where User = '" + user + "' and Password = '" + pass + "'";
                connect = new SqlConnection(" Integrated Security = True; Database = bank");
                command = new SqlCommand(s1, connect);
                try
                {
                    connect.Open();
                    reader = command.ExecuteReader();
                    reader.Read();
                    permission = reader[0].ToString();
                    reader.Close();
                    username = user;
                }
                catch (Exception ex)
                {
                    permission = "-1";
                    MessageBox.Show("Username or Password is incorrect!");
                    return;
                }
                
                FormMain m = new FormMain(permission, username);
                m.Show();
                this.Hide();
            }
    Đăng nhập không thành công mãi, các bác xem hộ em sai ở đâu với
    Sống là phải nỗ lực hết mình, dù người ta có nói bạn Never Give Up là NGU, bạn cũng đừng bao giờ từ bỏ
    Dù có thất bại, mình cũng đã cố gắng

  2. #2
    Ngày gia nhập
    01 2011
    Bài viết
    189

    Bạn xem lại kiểu dữ liệu của username và password là gì trước.Mấy cái đó nên để kiểu nvarchar .Mình ngĩ nó chỉ lỗi cái đó vì khi so sánh thì mấy cái kiểu kia nó không có linh động về cái khoảng trắng .Xem xong thì pm lại.Hope help!!

  3. #3
    Ngày gia nhập
    09 2009
    Bài viết
    42

    Bạn thử thêm hàm Trim vào sau mỗi cái này thử:
    string user = textTK.Text.Trim();
    string pass = textMK.Text.Trim();
    Nếu cũng không được thì bạn dùng MessageBox in ra cái permission thử nó đã lấy được chưa

  4. #4
    Ngày gia nhập
    08 2011
    Bài viết
    27

    Mặc định Form dang nhap

    Bạn nên kiểm tra giá trị reader.count, nếu ==0 thì báo sai password

  5. #5
    Ngày gia nhập
    08 2011
    Nơi ở
    Yên Bái- Hà Nội
    Bài viết
    961

    èo! chuối kết nối có vấn đề nè:
    connect = new SqlConnection(" Integrated Security = True; Database = bank");
    Bạn để Server ở đâu thế? sao ko thấy ghi trong đây thì làm sao nó chạy được?

    Chỗ này phải cho điều kiện vào:
    if(reader.Read())
    {
    permission = reader[0].ToString();
    reader.Close();
    username = user;
    }
    else
    {
    .......khong thanh cong, lam gi thi lam.hehe
    }
    Hơn nữa Bạn chưa đóng kết nối. Như thế mà chạy lần nữa bị lỗi đó. Viết thế này thì phải để cái con.Close() trong Finally.
    Skype: mrfour.it - Yahoo:mrfour_it
    Gmail: mrfour.it@gmail.com
    Bạn muốn học lập trình? Bạn chưa có kiến thức cơ bản? Bạn muốn học từ cơ bản tới nâng cao?... Bạn muốn có source code để tham khảo? Muốn có người hỗ trợ khi học?....http://www.laptrinh123.com sẽ giúp bạn những điều đó!

  6. #6
    Ngày gia nhập
    09 2010
    Bài viết
    18

    Mặc định C# không hiển thị kết quả như mong muốn khi thao tác với CSDL

    Trích dẫn Nguyên bản được gửi bởi vietvoquoc90 Xem bài viết
    Bạn xem lại kiểu dữ liệu của username và password là gì trước.Mấy cái đó nên để kiểu nvarchar .Mình ngĩ nó chỉ lỗi cái đó vì khi so sánh thì mấy cái kiểu kia nó không có linh động về cái khoảng trắng .Xem xong thì pm lại.Hope help!!
    Cái này em để varchar bác ạ, em ko dùng unicode cho user và password
    Trích dẫn Nguyên bản được gửi bởi HONG REU Xem bài viết
    Bạn thử thêm hàm Trim vào sau mỗi cái này thử:
    string user = textTK.Text.Trim();
    string pass = textMK.Text.Trim();
    Nếu cũng không được thì bạn dùng MessageBox in ra cái permission thử nó đã lấy được chưa
    Trim() với để Text ko cũng ko khác gì nhau bác ạ, em thử in ra rồi, cả user và permission đều rỗng :-s

    Trích dẫn Nguyên bản được gửi bởi mrfour.it Xem bài viết
    èo! chuối kết nối có vấn đề nè:
    connect = new SqlConnection(" Integrated Security = True; Database = bank");
    Bạn để Server ở đâu thế? sao ko thấy ghi trong đây thì làm sao nó chạy được?

    Chỗ này phải cho điều kiện vào:
    if(reader.Read())
    {
    permission = reader[0].ToString();
    reader.Close();
    username = user;
    }
    else
    {
    .......khong thanh cong, lam gi thi lam.hehe
    }
    Hơn nữa Bạn chưa đóng kết nối. Như thế mà chạy lần nữa bị lỗi đó. Viết thế này thì phải để cái con.Close() trong Finally.
    Connect như này ổn bác ạ, để như vậy thì khi mình đưa sang máy khác, chỉ cần csdl có tên như vậy là kết nối được, ko cần đăng nhập sql.




    Em ko hiểu tại sao nữa, VS ko báo lỗi, em cũng ko bít tại làm sao mà permission và user lại bị rỗng như vậy bác nào hộ luôn em với:
    Em định làm thế này: Bảng dữ liệu đăng nhập có 3 trường: user,password và permission ={0,1}, khi người dùng nhập user và password mình sẽ tìm permission của user đó và sau đó chạy constructor của FormMain với 2 đối số là permission và user để cho ra cửa sổ theo quyền nhận được từ permission.
    Cảm ơn các bác!

    Đây,em nó đây, bác nào lôi ra xem sửa hộ em cái
    http://www.mediafire.com/download.php?e5i96wreoaa1id3
    Đã được chỉnh sửa lần cuối bởi lonesome_007 : 24-10-2011 lúc 12:01 PM.
    Sống là phải nỗ lực hết mình, dù người ta có nói bạn Never Give Up là NGU, bạn cũng đừng bao giờ từ bỏ
    Dù có thất bại, mình cũng đã cố gắng

  7. #7
    Ngày gia nhập
    09 2010
    Bài viết
    18

    Em tạo một DataBase mới giờ lại được rồi các bác ạ, nhưng khi đưa sang máy khác chạy nó xuất hiện tới 101 warnings, trong khi ở máy em thì ko có cái warmning nào :-o

    Cảm ơn tất cả các bác nhé!
    Túm lại, lỗi tại cơ sở dữ liệu, ko rõ là chỗ nào, em thay csdl khác thì được rồi
    Sống là phải nỗ lực hết mình, dù người ta có nói bạn Never Give Up là NGU, bạn cũng đừng bao giờ từ bỏ
    Dù có thất bại, mình cũng đã cố gắng

Các đề tài tương tự

  1. Mối quan hệ trong CSDL Quản lý lịch dạy của Giáo Viên nên làm thế nào?
    Gửi bởi b1u3eyes trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 10
    Bài viết cuối: 16-03-2015, 10:55 PM
  2. Database Xây dựng csdl Quản Lý Bán Sách như thế nào?
    Gửi bởi nghiameo trong diễn đàn Thắc mắc đại cương Database & Reporting
    Trả lời: 4
    Bài viết cuối: 10-03-2013, 08:39 PM
  3. Đề xuất Mong ban quản trị xem xét!!!!!
    Gửi bởi cchangkhongayngo trong diễn đàn Ý kiến, đề xuất và khiếu nại
    Trả lời: 4
    Bài viết cuối: 29-08-2011, 10:26 AM
  4. Tài liệu Quản trị dự án, rất mong mọi người giúp
    Gửi bởi meomeomeo trong diễn đàn Tài liệu, ebooks và công cụ
    Trả lời: 2
    Bài viết cuối: 09-05-2009, 03:03 PM
  5. mình mới tập làm csdl bằng sql mong các bạn chỉ bảo giúp
    Gửi bởi quyen trong diễn đàn Thắc mắc đại cương Database & Reporting
    Trả lời: 2
    Bài viết cuối: 19-01-2008, 11:11 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn