Winform C# - Quản lý sinh viên - kết nối SQL Server

Поділитися
Вставка
  • Опубліковано 10 гру 2024

КОМЕНТАРІ • 163

  • @nguyenhoanghuy8456
    @nguyenhoanghuy8456 4 роки тому +1

    Chỉ cần xem một bài ví dụ như này là đủ học cái cần dùng ngay, rất hay

  • @nguyenhoaiphuong_lop6680
    @nguyenhoaiphuong_lop6680 Рік тому

    Em cảm ơn Thầy đã đăng các video dạy lập trình rất dễ hiểu và hữu ích. Thầy có thể cho em thông tin liên lạc để em tiện trao đổi khi chưa nắm bắt kịp. Trân trọng.

  • @quynhchu3617
    @quynhchu3617 2 роки тому

    Thầy ơi ở phần Authentication em sử dụng là windows Authentication, rồi lúc chạy from bị báo lỗi ở B4: mở chuỗi kết nối (16:50). thầy và mọi người giải đáp giúp em với ạ. làm sao để hết lỗi và chạy được From ạ. Em cả ơn!

  • @TranTran-vg5yi
    @TranTran-vg5yi 5 років тому +1

    hay quá anh ơi. giảng rất dễ hiểu!!

  • @mrkhoi1981
    @mrkhoi1981 2 роки тому +1

    Mình tự học nên thay video nay rất chuẩn. Cảm on bạn. Mình làm dựa tren csdl của mình, csdl có kiểu ngày tháng. Khi đến phần update thì báo lỗi. Mong bạn huong dẫn giúp. 1 cái nua là mình chua rõ lắm khi ban sử dụng biến ID, sv.ID, trong csdl, datagridview lại là Id? Liệu có phải lỗi do chua sử dụng đúng cách biến id này ko?

  • @sonhoang4903
    @sonhoang4903 3 роки тому

    Cho e hỏi là 3 trạng thái sửa xóa thêm thì e gõ giống hệt code mà chỉ chạy dc xóa còn sửa vs thêm thì câu lệnh if else đều nhảy sang hiện thị messageBox là làm sao ạ?

  • @alexmine6862
    @alexmine6862 3 роки тому +1

    Thầy ơi sao lúc dùng câu truy vấn tìm kiếm SV ko sử dụng parameter của SqlCommand như lúc xoá sửa mà phải tách chuỗi ra rồi cộng với biến ạ??

    • @phamvanuc9188
      @phamvanuc9188 3 роки тому

      Dấy là dùng cộng chỗi rồi bạn kiểu đó sql hay gặp lỗi

  • @huynhbaoan4364
    @huynhbaoan4364 4 роки тому

    3:13 đoạn này mình điền tên giống trong database sao nó báo là: "...is already in use by another component". Hình như cái tên giống như tên cột trong CSDL dùng k dc

    • @NguyenXuanHung
      @NguyenXuanHung  4 роки тому

      Bạn kiểm tra lại dữ liệu trong thuộc tính Name, vì có thể trong khi bạn tạo nhiều cột, bạn đã đặt 2 cột trùng tên.
      Bạn có thể để tên mặc định trong trường Name này. Còn khi bạn làm việc với SQL Server, hiển thị kết quả câu lệnh select, thì dữ liệu tại trường DataPropertyName phải giống với tên cột trong câu lệnh SELECT.
      Thân.

    • @huynhbaoan4364
      @huynhbaoan4364 4 роки тому

      @@NguyenXuanHung mình phải ghi rõ ràng chứ ghi "select * from [table-name] được không?

    • @huynhbaoan4364
      @huynhbaoan4364 4 роки тому

      @@NguyenXuanHung cả 2 ô DataPropertyName và Name mình đều để tên giống như tên cột trong database. Mà vẫn báo lỗi vậy.

    • @NguyenXuanHung
      @NguyenXuanHung  4 роки тому +1

      Huỳnh Bảo Ân bạn kiểm tra lại các cột trong gridview, đã có cột nào đặt trùng tên hay không? Lỗi thông báo ở trên “.... is already in use by another component” chỉ ra điều đó.
      Bạn thay đổi trường Name thành khác đi là được. Còn trường DataPropertyName thì phải giống với cột trong câu lệnh SELECT

    • @NguyenXuanHung
      @NguyenXuanHung  4 роки тому

      Huỳnh Bảo Ân Bạn để SELECT * cũng được nhé. Nếu khi run solution hiển thị kết quả như trên SQL Server là được bạn ah.

  • @longvuduong6354
    @longvuduong6354 4 роки тому

    Nếu như mỗi lớp e tạo một new folder ,và cho các lớp vào từng thư mục ( kiến trúc 3 tầng) thì liên kết giữa các thư mục kiểu gì ạ,đoạn 30:00 khai báo 1 đối tượng sinhvienDAL giống anh thì nó kêu là chưa có cái lớp sinhvienDAL ,ai debug giúp em với ,e cảm ơn nhiều nha

    • @NguyenXuanHung
      @NguyenXuanHung  4 роки тому +1

      Chào bạn.
      Khi bạn tạo thư mục trong cùng một project thì không cần khai báo thêm gì, các thư mục tạo ra chỉ để bạn dễ quản lý code hơn.
      Muốn khởi tạo đối tượng của lớp SinhVienDAL, bạn phải tạo lớp SinhVienDAL trước. Lỗi chưa khởi tạo lớp, bạn kiểm tra một trong các trường hợp sau:
      1. Class SinhVienDAL và class SịnhVienBLL có trùng namespace không?
      2. Vì C# phân biệt hoa thường, bạn kiểm tra xem khởi tạo đã đúng tên lớp chưa? Ví dụ: SinhvienDAL khác với sinhvienDAL
      Thân.

    • @longvuduong6354
      @longvuduong6354 4 роки тому

      Vâng e cảm ơn ạ,

  • @dammekythuat
    @dammekythuat 2 роки тому

    Thầy ơi. Em muốn làm 1 nút "Delete All" thì sẽ xóa toàn bộ các dòng và dữ liệu thì sao ạ. Thầy đang làm xóa 1 tên SV. Thầy có thể hd xóa hết ko ạ.

  • @quyluong1025
    @quyluong1025 4 роки тому

    Cho em hỏi là nếu mình dùng radiobutton cho Nam Nữ thì sẽ phải dùng như thế nào ạ

  • @82_nguyenhoangyen23
    @82_nguyenhoangyen23 2 роки тому

    Dạ thầy cho em hỏi thêm sinh viên báo đã có lỗi là lỗi gì ạ?

  • @NguyenVanTuanDHOO
    @NguyenVanTuanDHOO 2 роки тому

    ví dụ dữ liệu bên sql là bit và date thì khi ánh xạ lại kiểu dữ liệu là gì ạ

  • @truongphamquang499
    @truongphamquang499 3 роки тому

    34:19 dịch biên dịch là sao vậy thầy con cũng làm là Initial nhưng nó k chạy được

  • @thanhken1037
    @thanhken1037 5 років тому +2

    *thầy ơi, còn phần code "sắp xếp" thì như nào ạ???*

  • @el-ric6508
    @el-ric6508 6 років тому

    Em làm 1 cái danh sách có ngày sinh kiểu datetime đến khi bắt lỗi trong hàm CheckData nó bị lỗi ạ...chỉ em với

  • @SpiderMan-wk4gk
    @SpiderMan-wk4gk 5 років тому

    thầy cho em hỏi , làm sao để có được dataGridview trắng và hiện thị như vậy được ? tại của em tạo nó toàn màu xám hoặc góc xám + trắng

  • @nguyenhoaiphuong_lop6680
    @nguyenhoaiphuong_lop6680 Рік тому

    Thầy ơi, nếu lớp lấy từ bảng Lớp thì code như thế nào Thầy

  • @huyhoangthe5970
    @huyhoangthe5970 3 роки тому

    em bị lỗi khi debug. toàn bộ thư mục bin/debug đều trống thì sao ạ ?

    • @NguyenXuanHung
      @NguyenXuanHung  3 роки тому +1

      Chào bạn,
      Như bạn nói thư mục debug trống tức là project của bạn build chưa thành công. Bạn sửa hết lỗi và build lại project nha.

    • @huyhoangthe5970
      @huyhoangthe5970 3 роки тому

      @@NguyenXuanHung dạ e vừa sửa hết xong bấm chạy lại thì nó hiện ra lỗi 0x80070057

    • @huyhoangthe5970
      @huyhoangthe5970 3 роки тому +2

      @@NguyenXuanHung cám ơn anh e sửa đc rồi thiếu dấu } 😃

  • @jamesbondd3538
    @jamesbondd3538 4 роки тому

    + Error CS1503 Argument 2: cannot convert from 'System.Data.SqlClient.SqlConnection' to 'System.Data.SqlClient.SqlCredential' QLSV D:\out winform\QLSV\SinhVienDAL.cs 81 Active
    -->lỗi chỗ sqlconnection con =dc.getConnect();
    + The variable 'e' is declare but never used --> chỗ catch ( Exception e)
    em nhập y chang của thầy, mà nó báo lỗi này , giúp em với ạ!

    • @NguyenXuanHung
      @NguyenXuanHung  4 роки тому

      Chào bạn,
      Lỗi chỗ câu lệnh dc.getConnect() tức là câu lệnh kết nối của bạn đã bị lỗi. Bạn cần kiểm tra lại các tham số trong câu lệnh conStr = "Data Source=TÊN_SERVER_CỦA_BẠN; Initial Catalog=DATABASE_CỦA_BẠN; UID=UID_CỦA_BẠN; PWD=PASS_CỦA_BẠN"
      Bạn thay các thông số phù hợp với máy tính của bạn nhé.
      Chúc bạn thành công.

  • @nhatminh315
    @nhatminh315 4 роки тому

    Thầy hướng dẫn bắt lỗi khi người dùng click ra ngoài datagridview dùm e với

  • @ParkChaeYoung1997
    @ParkChaeYoung1997 2 роки тому

    thầy ơi, bây giờ em muốn tạo 1 form login để yêu câu đăng nhập trước khi vào đc form chính thì phải làm thêm như nào ạ

    • @Pkvn1001
      @Pkvn1001 2 роки тому

      bạn làm được chưa. Có thể cho tôi xin được không. Tôi làm theo vẫn lỗi

    • @NguyenXuanHung
      @NguyenXuanHung  2 роки тому

      Chào bạn,
      Bạn cần làm các bước như sau:
      1. Tạo 1 form đăng nhập với các trường như: Tên đăng nhập, Mật khẩu; các nút như: Thoát, Đăng nhập.
      2. Cho khởi động chương trình từ form đăng nhập trong file program.cs
      static void Main()
      {
      Application.EnableVisualStyles();
      Application.SetCompatibleTextRenderingDefault(false);
      Application.Run(new Form1());
      }
      Ví dụ: bạn sẽ thay chỗ Form1() bằng tên form đăng nhập của bạn
      Khi bạn F5, form đăng nhập sẽ được khởi động đầu tiên
      3. Xử lý form đăng nhập
      4. Khi người dùng nhập đúng username/password thì bạn sẽ ẩn(Hide)/đóng (Close) form đăng nhập và hiển thị (Show) form chính lên.
      Hy vọng bạn làm thành công.

    • @NguyenXuanHung
      @NguyenXuanHung  2 роки тому

      Chắc bạn có lỗi chồ nào đó, bạn copy lỗi lên đây rồi cùng trao đổi nhé.

  • @CuongPham-tm5vu
    @CuongPham-tm5vu 4 роки тому

    E bỏ phần id. Lấy mã sinh viên làm khoá chính thì câu lệnh ở phần xoá sinh viên sẽ làm ntn ạ.

    • @NguyenXuanHung
      @NguyenXuanHung  4 роки тому +1

      Cuong Pham chào bạn,
      Nếu bạn bỏ thuộc tính ID và lấy MaSV làm khoá chính, câu lệnh sửa và xoá sẽ khác một chút như sau:
      Câu lệnh xoá:
      DELETE FROM tblSinhVien WHERE MaSV = @MaSV
      Câu lệnh sửa:
      UPDATE tblSinhVien SET
      TenSV = @TenSV,
      DiaChi = @DiaChi,
      Lop = @Lop,
      Diem = @Diem
      WHERE MaSV = @MaSV
      Chúc bạn thành công!

    • @CuongPham-tm5vu
      @CuongPham-tm5vu 4 роки тому

      Em cx làm như vậy nhưng báo lỗi ở dòng cmd.ExecuteNonQuery();

    • @CuongPham-tm5vu
      @CuongPham-tm5vu 4 роки тому

      Còn phần sửa thì chạy đk. Lỗi mỗi phần xoá thôi

    • @NguyenXuanHung
      @NguyenXuanHung  4 роки тому +1

      @@CuongPham-tm5vu Chào bạn,
      Nếu lỗi ở dòng đó, bạn nên kiểm tra xem câu lệnh SQL của mình có bị lỗi hay không?
      Để cụ thể lỗi hơn nữa, bạn có thể làm theo một số cách sau để thử xem mình lỗi ở đâu:
      1. Đặt try... catch giống như video đã hướng dẫn. sau đó bạn đặt check-point tại dòng có thể gây ra lỗi. Khi run chương trình (F5), bạn thực thi chương trình để quá trình debug nhảy tới câu lệnh đã check-point, để đi qua từng câu lệnh bạn ấn phím F11, khi đi qua từng câu lệnh bạn kiểm tra các tham số.
      Nếu phát sinh lỗi tại dòng nào đó trong khối try, nó sẽ nhảy vào khối catch, bạn xem chi tiết lỗi tại biến Exception sẽ rõ lỗi.\
      2. Khi lỗi tại cmd.ExceptionNonQuery(), khả năng cao là lỗi câu lệnh SQL, bạn copy câu lệnh này vào SQL Server Management và run trên SQL Server, nếu nó không thực thi được bạn sẽ biết lỗi của mình ở đâu.

  • @phamvanuc9188
    @phamvanuc9188 3 роки тому

    H thầy còn thời gian có thể nói lại về mô hình 3 lớp dc không ạ

  • @nguyeninhan7556
    @nguyeninhan7556 3 роки тому

    thầy ơi sao e làm giống thầy dạy ở video này mà đến bước showAllSinhVien e lại bị lỗi ạ?

  • @trinhhainam
    @trinhhainam 5 років тому

    ở chỗ câu phần khai báo Điểm mình thêm như của bạn là sv.Diem = float.Parse(txtDiem.Text); nhưng bị báo lỗi $exception {"Input string was not in a correct format."} System.FormatException. Bạn chỉ cho mình với, mình cảm ơn.

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      Hải Nam Trịnh chào bạn,
      Lỗi như bạn mô tả, có nghĩa là trường tẽtbox Điểm bạn để rỗng (null) nên nó không thể nào chuyển đổi giá trị rỗng sang số (number) được.
      Giải pháp: với các trường số (số nguyên, số thực) bạn để giá trị mặc định cho nó. Ví dụ: 0, 1,...

    • @trinhhainam
      @trinhhainam 5 років тому

      @@NguyenXuanHung cảm ơn bạn đã trả lời, mình đã xem kỹ lại video của bạn mấy lần và biết làm sai chỗ nào. Video của bạn rất hay và rất kỹ. Mình muốn làm bài này bằng entity framework. Rât mong được giữ liên hệ với bạn.

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому +1

      Hải Nam Trịnh bạn cần hỗ trợ gì, cứ đưa vấn để lên đây nhé

  • @hieuluu1704
    @hieuluu1704 6 років тому

    thầy ơi ko dùng cơ sỡ dữ liệu mà muốn tìm kiếm thì làm sao thầy
    em code giống bài tạo quản lý sinh viên của thầy .

  • @Hoang_Aluminium
    @Hoang_Aluminium 4 роки тому

    Thầy ơi, đối với dữ liệu bit trong sql sql mình sử dụng checkbox truyền sao ạ?

    • @NguyenXuanHung
      @NguyenXuanHung  4 роки тому

      Chào bạn, khi làm việc với kiểu dữ liệu bit trong SQL, để truyền tham số tương ứng từ Checkbox bạn nên khai báo một biến kiểu bool - ví dụ status.
      Khi tích chọn/bỏ chọn checkbox, trong sự kiện Checkbox1_CheckedChanged bạn thay đổi biến status thành true/false.
      Sau đó bạn thực hiện câu lệnh SQL và truyền biến status cho trường bit trong SQL.
      Chúc bạn thành công!

    • @Hoang_Aluminium
      @Hoang_Aluminium 4 роки тому

      @@NguyenXuanHung cám ơn thầy

  • @vanhieunguyen5993
    @vanhieunguyen5993 4 роки тому

    - Sao lúc em thêm thì nó hiển thị không ra được Tiếng Việt mà thay bằng dấu chấm hỏi ạ

    • @NguyenXuanHung
      @NguyenXuanHung  4 роки тому

      Nè Hấp chào bạn,
      Nếu khi thêm bạn không ra tiếng việt có thể do môt số nguyên nhân sau:
      1. Khi tạo bảng dữ liệu trong SQL Server, bạn để kiểu dữ liệu của cột đó không phải là nvarchar
      2. Vì code trên của mình dùng tham số @ rồi nên bạn sửa kiểu dữ liệu trong SQL là được. Còn ngược lại, bạn kiểm tra xem đoạn code SqlDbType.NVarchar chưa?
      3. Nếu bạn không dùng tham số @ mà cộng chuỗi trong câu lệnh SQL, bạn thêm N’.....’ đằng trước dữ liệu. Ví dụ:
      insert into tblSinhVien(TenSV) values(N’Nguyễn Văn An’)
      Chúc bạn thành công!

    • @vanhieunguyen5993
      @vanhieunguyen5993 4 роки тому +1

      @@NguyenXuanHung - Được rồi ạ

  • @DuyMinhTran
    @DuyMinhTran 3 роки тому

    A ơi cho e xin source này tham khảo với được không ạ

  • @nhatminhnguyen8506
    @nhatminhnguyen8506 3 роки тому

    System.Data.SqlClient.SqlException: 'A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)'
    con.open
    thầy giúp e phần này vs ạ, lỗi chỗ này e hong biết sửa

    • @NguyenXuanHung
      @NguyenXuanHung  3 роки тому

      Em vào sửa chuổi kết nối, thay datasource bằng tên server của em nhé

  • @smithkhan3856
    @smithkhan3856 5 років тому

    thây ơi em bị lỗi txtMaSV dóe not EXITS in the current conttext "how to fix?????????" s thầy lại có sẵn cái txt đấy khi tạo ??

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      Bạn xem lại khi tạo form: bạn kéo textbox để cho phần nhập mã sinh viên. Bạn kích chọn textbox này. Bấm F4 để truy cập vào thuộc tính của textbox này: trong mục Name bạn đặt tên cho textbox này là txtMaSV bạn nhé.
      Các textbox khác như: Tên Sinh Viên, Địa Chỉ,.... bạn truy cập vào thuộc tính và đặt tên cho các textbox này tương ứng nhé.

  • @camtrungtin7700
    @camtrungtin7700 5 років тому +1

    EM CHÀO THẦY Ạ . THẦY ƠI EM CÓ CODE ĐÚNG THEO THẦY NHƯNG PHẦN THÊM SV KHÔNG ĐƯỢC CÒN SỬA XÓA SV THÌ ĐƯỢC Ạ . THẦY CÓ THỂ CHỈ EM CÁCH KHÁC PHỤC ĐƯỢC KHÔNG Ạ . EM CẢM ƠN Ạ

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      Cầm Trung Tín Bạn làm đúng như video mà bị lỗi, bạn cần kiểm tra một số vấn đề sau:
      - Trong cơ sở dữ liệu: các trường đã đúng kiểu dữ liệu so với code chưa? Đã có trường khoá chính và trường này là tự động tăng hay chưa?
      - Trong đoạn code: việc sắp sếp các trường trong câu lệnh insert đã đúng chưa? Ví dụ: trường Lớp (kiểu string) không thể chèn vào trường Điểm (kiểu số); rồi sau kiểm tra kết nối, các bước thực thi câu lệnh,....
      Nếu bạn biết debug, thì bạn xem trong phần catch là biết đang lỗi gì ngay

    • @haiquang602
      @haiquang602 5 років тому

      @@NguyenXuanHung anh ơi trường tự động tăng mình làm răng vậy anh chỉ em với...

  • @ABC-hr9eu
    @ABC-hr9eu 3 роки тому

    Xóa sửa được nhưng ko thêm được thầy ơi

  • @Komachi21
    @Komachi21 5 років тому

    thầy ơi em làm giống thầy đến đoạn thêm xong chạy thì k thêm dc nó toàn ra cái messagebox thông báo lỗi thôi, e chỉ khác thầy là có thêm trường SDT, giúp em với

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      Hieu Nguyen duc nó báo lỗi đoạn nào vậy bạn? Em có thể chụp ảnh và gửi báo lỗi vào zalo, viber theo số: 0908386366 để mình xem cho

    • @Komachi21
      @Komachi21 5 років тому

      @@NguyenXuanHung em gửi cho thầy r đấy, giúp e với nhé

  • @NamNguyen-vr2rk
    @NamNguyen-vr2rk 5 років тому

    Nếu nhập trùng mã sinh viên thì không báo lỗi và vẫn add vào bảng? Sửa sao đây a ơi?

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому +1

      Nam Nguyen vì database với trường ID là khoá chính và tự động tăng nên không cần thêm dữ liệu vào trường này.
      Với yêu cầu của bạn ta làm các bước sau trước khi thực hiện câu lệnh insert vào database
      1. Tiến hành kiểm tra trong cơ sở dữ liệu trong database đã có Mã sinh viên trùng với mã sinh viên đã nhập chưa?
      - Nếu chưa tồn tại mã sinh viên đã nhập mới này tiến hành thêm. Ngược lại yêu cầu người dùng nhập mã sinh viên khác.
      2. Tiến hành thêm dữ liệu như video nếu không tồn tại Mã sinh viên mới nhập
      Cheer!!!!

  • @kimuyen3278
    @kimuyen3278 4 роки тому

    Luc em chạy nó kêu lỗi k có hàm main ạ ai giúp e vs

  • @mqgaming7229
    @mqgaming7229 6 років тому

    sao em chạy mà toàn bị lỗi vậy ạ
    lỗi này ạ
    "Visual Studio cannot start debugging because the debug target 'C:\Users\Skun
    AP\source
    epos\WindowsFomrmsApp5\WindowsFormsApp5\bin\Debug\WindowsForm5.exe' is missing. Please build the project and retry, or set the OutputPath and Assemblyname properties appropriately to point at the correct location for the target assembly'
    cách khắc phụ sao ạ

  • @longvuduong6354
    @longvuduong6354 4 роки тому

    Anh ơi mọi thứ đều hoàn hảo chỉ có thêm sửa xóa ,ko được anh a,máy ko hề báo lỗi

    • @longvuduong6354
      @longvuduong6354 4 роки тому

      E thử nhiều lần rồi nhưng vẫn ko thêm sửa xóa được

    • @NguyenXuanHung
      @NguyenXuanHung  4 роки тому +2

      @@longvuduong6354 Chào bạn,
      Việc bạn không thêm sửa xóa được có thể có nguyên nhân sau:
      1. Kiểm tra câu lệnh kết nối tới SQL Server đã đúng chưa? Kết nối đã mở thành công chưa?
      2. Nếu câu lệnh SELECT để view toàn bộ sinh viên ra được rồi, vậy việc kết nối tới SQL Server đã thành công. Do đó, lỗi có thể ở:
      - Câu lệnh thêm, sửa, xóa có sai sót ở chỗ nào dó.
      Để kiểm tra xem câu lệnh SQL có bị sai sót hay không? bạn copy câu lệnh đó vào SQL Server và chạy thử, nếu nó báo lỗi, như vậy câu lệnh SQL mình cần sửa lại. (Lưu ý: thay tham số cần thiết. Ví dụ: Insert into tblSinhVien(TenSV) values(N'ABC')
      Bạn thử kiểm tra từng mục xem sao. Bạn có thể đặt check point tại điểm cần kiểm tra, sau đó chạy qua từng câu lệnh để xem nhé.
      Thân.

  • @anhviet5977
    @anhviet5977 5 років тому

    sao em làm phần xóa . xóa đến cái hàng cuối cùng lại bị lỗi thầy ơi

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      Anh Việt chào bạn,
      Bạn xem từ phút thứ 42:00. Khi bạn xử lý sự kiện dataGridviewSinhVien_CellClick như video hướng dẫn thì bạn xoá hàng cuối không bị lỗi nữa.
      Chúc bạn thành công!

  • @minhkhangluong6738
    @minhkhangluong6738 5 років тому

    hs.IdLop = (txtIdLop.Text);
    mình không biết chọn kiểu dữ liệu nào

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому +1

      Chào bạn,
      Bạn xem phần Model tương ứng để biết chi tiết kiểu dữ liệu cho từng đối tượng. Ví dụ: ID là thuộc tính của lớp SinhVien, bạn truy cập vào lớp đó để biết kiểu dữ liệu khai báo là gì.
      Cách khác, khi bạn cho nó một kiểu, nếu Visual không báo lỗi thì kiểu bạn vừa gán là đúng. Ngược lại, bạn xem thông báo lỗi để xác định nhé. Ví dụ: hs.IdLop = Int32.Parse(txtIdLop.Text);

    • @minhkhangluong6738
      @minhkhangluong6738 5 років тому

      ​@@NguyenXuanHung dạ mình cảm ơn ặ

  • @trancongtin3250
    @trancongtin3250 5 років тому

    anh ơi cho em hỏi cách thêm sự kiện tìm kiếm theo tên,mã sinh viên ,lớp,... kiểu gì ạ???

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому +1

      Chào bạn,
      Việc tìm kiếm cũng khá đơn giản khi bạn làm việc với SQL. Bạn dùng toán tử 'like' trong câu lệnh SQL để thực thi tìm kiếm. Ví dụ: bạn cần tìm kiếm theo "Những sinh viên có tên chứa chữ Bình"
      SELECT * FORM Students WHERE Fullname LIKE N'%Bình%'
      (Ký tứ N thể hiện tìm theo unicode - tiếng việt)
      - Nếu bạn tìm theo trường Mã sinh viên, lớp,... thì bạn thay các trường tương ứng vào chỗ Fullname, hoặc thêm biểu thức Or nếu muốn mở rộng tìm kiềm đồng thời trên nhiều trường.

    • @trancongtin3250
      @trancongtin3250 5 років тому

      @@NguyenXuanHung cho em em xuất bảng datagrid theo kiểu datagridview.rows.add(...),thì nút sửa phải làm kiểu gì ạ

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      @@trancongtin3250 Bạn muốn thêm, sửa, xóa trực tiếp trên gridview?

    • @trancongtin3250
      @trancongtin3250 5 років тому

      @@NguyenXuanHung vâng ạ

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      @@trancongtin3250 Hoàn toàn có thể làm được bạn nhé. Nhưng bạn sẽ vất vả hơn một chút vì một số lý do sau:
      1. Thêm: việc thêm khá đơn giản, vì khi bạn kích vào dòng mới trên gridview, nó tự động thêm dòng mới cho bạn, bạn sẽ nhập dữ liệu cho dòng mới vô tư. Nhưng làm sao bạn lưu dữ liệu vào CSDL SQL mới là điều bạn cần xử lý (vì bạn phải biết đâu là dòng bạn đã sửa, đâu là dòng bạn thêm mới).
      2. Sửa: tương tự như một phần của mục 1 - thêm. Vì bạn phải biết dòng nào đã sửa để bạn cập nhật vào CSDL.
      3. Xóa: vẫn làm như bình thường.

  • @haothanhduong8487
    @haothanhduong8487 5 років тому

    sao em chạy nút thêm thì nó toàn thông báo đã có lỗi xảy ra thầy ơi

    • @haothanhduong8487
      @haothanhduong8487 5 років тому +1

      @Phúc Nguyễn t sửa được nút này rồi

    • @haothanhduong8487
      @haothanhduong8487 5 років тому

      @Phúc Nguyễn lúc t bị lỗi do chưa truyền tham số vào. Nên truyền tham số nữa là xong à

    • @haiquang602
      @haiquang602 5 років тому

      @@haothanhduong8487 bạn sửa kiểu này như sao hay thế chỉ mình với

  • @truongnhutbui4835
    @truongnhutbui4835 5 років тому

    Con muốn làm thêm 1 button Undo thì làm như thế nào ạ

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      Nhut Bui chào bạn, em muốn làm thêm button undo, redo để nhớ hành động trước đó, em cần tạo một kiểu dữ liệu kiểu stack để lưu trữ hành động. Lúc lưu hành động thì push vào, cần undo thì pop ra

  • @nttu23
    @nttu23 5 років тому

    Thầy ơi chỉ e cách fix lỗi đoạn 3:38 đến 3:50 với ạ

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      Khi bạn thêm cột, bạn có thể bỏ qua trường Name (lấy trường Name mặc định Column1, Column2,....) bạn chỉ cần thay đổi trường Header Text thôi nhé

  • @xuanduong5835
    @xuanduong5835 Рік тому

    Quản lý tiền điện s ạ

  • @Ruby_Berryavenue
    @Ruby_Berryavenue 3 роки тому

    hay quá thầy ơi

  • @benbex_x9402
    @benbex_x9402 Рік тому

    Em đội ơn anh

  • @mainguyenmainguyen9821
    @mainguyenmainguyen9821 4 роки тому

    Đại thần xin nhận lấy đầu gối của em!

  • @nhatminh315
    @nhatminh315 4 роки тому

    Thầy cho em xin nick facebook với, code c# để kết nối với máy in như thế nào vậy thầy

  • @QuangNguyen-df5lv
    @QuangNguyen-df5lv 5 років тому

    khi bấm xóa thì Messegebox báo là xãy ra lỗi@@ giúp em với :(((

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому +1

      Nếu có phát sinh lỗi khi bạn kích nút "Xóa" chắc do câu lệnh SQL trong phần DAL.
      Bạn xem lại phương thức DeleteSinhVien(tblSinhVien sv){...} xem có lỗi gì không nhé?

  • @ucphan1562
    @ucphan1562 5 років тому

    Anh giúp em vs ạ, em code phần thêm nhưng phải liên kết 2 bảng vs nhau, phần này em loay hoay mãi chưa lm được. Anh giúp em vs ạ. Em cảm ơn anh rất nhiều

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому +1

      Bạn đang mắc phần nào phần nào đó?
      - Liên kết giữa các bảng trong SQL (hay khóa chính, khóa ngoại, trường tự động tăng)?
      - Câu lệnh thêm, sửa, xóa?
      Bạn mắc phần nào, cứ đưa câu hỏi lên đây nhé.

    • @ucphan1562
      @ucphan1562 5 років тому

      câu lệnh thêm ý anh, nhưng dữ liệu phải liên kết từ 2 bảng anh ạ

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому +1

      @@ucphan1562 Chào bạn. Mình có thể ví dụ như sau
      - Bảng Lop(id, TenLop)
      - Bảng SinhVien(id, TenSV, idLop). Với idLop là khóa ngoại liên kết với bảng Lop
      Khi thêm, bạn phải thêm vào bảng lớp trước. Sau đó, dùng combobox hiển thị các lớp. Tiếp đến, khi thêm sinh viên, bạn cần chọn lớp cần thêm sinh viên (bằng cách cho người dùng chọn 1 lớp từ combobox ở trên, bạn sẽ lấy được idLop). Cuối cùng bạn insert vào database.

    • @ucphan1562
      @ucphan1562 5 років тому

      em cũng làm như vậy mà vẫn ko thêm được :(

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      Đức Phan Không thêm được phần nào bạn nhỉ?
      - Không thêm được vào bảng Lop? Hay
      - Không thêm được vào bảng SinhVien?
      Bạn debug và xem lỗi chi tiết đó là gì? Bạn post lên đây chúng ta cùng trao đổi chi tiết hơn

  • @huynhhoangminh6998
    @huynhhoangminh6998 6 років тому

    Hay lắm thầy ơi.

  • @ctyd.o.t800
    @ctyd.o.t800 5 років тому

    Sao mình không thể xoá dử liệu dòng đầu tiên đc z thầy?? thầy giúp em nhé

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      Không thể xóa được dòng nào đó bạn?

  • @hocvan7517
    @hocvan7517 2 роки тому

    Cho e xin suorce code được k thầy

  • @attrantan1618
    @attrantan1618 5 років тому

    Thầy ơi em làm phần thêm, code giống thầy nhưng nó lại trả về lỗi. thầy trả lời giúp em

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      Đạt Trần Tấn bạn copy thông báo lỗi và dòng chứa lỗi lên đây nhé

    • @attrantan1618
      @attrantan1618 5 років тому

      @@NguyenXuanHung Em sửa được rồi.Thầy cho em hỏi, em muôn nhập điểm các môn cho sinh viên , và xuất ra điểm TB vậy tính điểm Tb mình phải tính ở bên sql hay bên c# vậy thầy

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      @@attrantan1618 Một giải pháp bạn có thể thực thi như sau:
      - Trong lớp BLL, bạn sửa lại hàm getAllSinhVien(); sau khi lấy về toàn bộ sinh viên trong lớp DAL, bạn tạo 1 table mới có thêm cột TrungBinhCong.
      Sau đó, bạn đọc từng dòng dữ liệu của table trong lớp DAL trả về, cộng điểm của các môn học và tính trung bình cộng; Xong rồi, bạn gán dữ liệu này vào bảng mới tạo.
      Khi kết thúc đọc dữ liệu và tính toán, bạn trả về bảng mới cho hàm getAllSinhVien();

    • @gracegriffindor9352
      @gracegriffindor9352 5 років тому

      Anh ơi, anh sửa lỗi làm sao vậy. Giúp em với.

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      @@gracegriffindor9352 Chào bạn, bạn bị lỗi gì vậy? bạn có thể mô tả hoặc copy đoạn thông báo lỗi lên đây nhé

  • @thoanguyen4640
    @thoanguyen4640 5 років тому

    thầy ơi . s e chạy mà nó báo bị lỗi chỗ con.Open v ạ

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      Bạn xem lại chuỗi kết nối, thay bằng tên máy chủ SQL của mình nhé. Chi tiết chuỗi kết nói, bạn xem lại video nhé.
      ua-cam.com/play/PLIbobkdH1ftS5_L858q3BXfsexe-HWprG.html

  • @chien3839
    @chien3839 6 років тому

    Thầy ơi, thầy dạy trên trường đây ạ ?

  • @thanhken1037
    @thanhken1037 5 років тому

    *thầy ơi, tại sao của em không có txtMaSV, txtTenSV.... vậy ạ?*

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому +1

      Thành Ken em ra phần thiết kế form, em kích vào tẽtbox, bấm F4 (để vào phần properties), trong mục Name em đổi tên thành txtMaSV hoặc txt... phù hợp với trường dữ liệu mà textbox của em muốn (ví dụ: textbox để nhập dữ liệu tên sinh viên có Name là: txtTenSV, textbox để nhập địa chỉ có Name là txtDiaChi,...)

    • @thanhken1037
      @thanhken1037 5 років тому

      @@NguyenXuanHung oke e làm đc rồi

    • @thanhken1037
      @thanhken1037 5 років тому

      @@NguyenXuanHung dạ cho em hỏi tiếp
      *cái dataGridViewSinhVien ở đâu ạ?*

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому +1

      @@thanhken1037 em quay ra form thiết kế, em kích vào dataGridView, em bấm F4 để truy cập vào phần Properties. Trong Properties, mục Name, em đặt tên nó là dataGridViewSinhVien

    • @thanhken1037
      @thanhken1037 5 років тому

      @@NguyenXuanHung dạ thank U

  • @nhatminh315
    @nhatminh315 4 роки тому

    Thầy cho e xin slide bài giảng với

    • @NguyenXuanHung
      @NguyenXuanHung  4 роки тому

      Chào bạn,
      Mình không có slide cho phần này. Bạn xem video có vấn đề gì cần trao đổi, bạn cứ comment tại đây nhé.

  • @1trong10tyfanbts6
    @1trong10tyfanbts6 4 роки тому

    Anh cho em xin code lẫn database sql với ạ

    • @NguyenXuanHung
      @NguyenXuanHung  4 роки тому

      Mình đã hướng dẫn chi tiết từng phần, bạn làm theo từng bước để biết cách làm nhé.
      Bạn có thể tham khảo thêm ở các video sau:
      ua-cam.com/play/PLIbobkdH1ftS5_L858q3BXfsexe-HWprG.html
      Nếu có phần nào chưa hiểu bạn có thể đặt câu hỏi tại đây. Mình sẽ trả lời chi tiết.

    • @nhatminhnguyen8506
      @nhatminhnguyen8506 3 роки тому

      @@NguyenXuanHung System.Data.SqlClient.SqlException: 'A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)'
      phần con.open
      thầy giúp e chỗ này vs ạ

  • @hoanlebat3286
    @hoanlebat3286 4 роки тому

    thầy cho em xin CSDL được không ạ

  • @nguyenbaoduy2380
    @nguyenbaoduy2380 5 років тому

    hay
    lắm

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      Cám ơn bạn đã ủng hộ.
      Bạn có đóng góp gì thêm và cần hỗ trợ gì cứ đặt câu hỏi tại đây nhé.

  • @diepquang3385
    @diepquang3385 4 роки тому

    Thầy ơi cho em xin code này về học dc k

    • @NguyenXuanHung
      @NguyenXuanHung  4 роки тому

      Chào bạn,
      Bạn download code ở đây nhé: www.mediafire.com/file/48t21xrdryoaioa/Winform_TH_QLSV_N1.rar

  • @quannguyencanh9008
    @quannguyencanh9008 4 роки тому

    thầy ơi em xin code đc không thầy

  • @manchuhuy5233
    @manchuhuy5233 6 років тому

    cho em xin file được không thầy em đang làm đồ án gấp thầy cho em cả báo cáo được không ạ

    • @NguyenXuanHung
      @NguyenXuanHung  6 років тому

      Mân Chu Huy em xem video và gõ lại nhé.

  • @cuongvochi6851
    @cuongvochi6851 5 років тому

    thầy ởi thầy cho e cái code với. mái em làm báo cáo rồi ạ

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      Cường Võ Chí Tối về mình gửi bạn link code và database để bạn tham khảo nhé

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      Chào bạn,
      Bạn vào đường link sau để download về nhé.
      softpc.vn/download/winform-c-sql-server-quan-ly-sinh-vien-video-huong-dan-va-code

    • @cuongvochi6851
      @cuongvochi6851 5 років тому

      @@NguyenXuanHung dạ. E cảm ơn a ạ

    • @cuongvochi6851
      @cuongvochi6851 5 років тому

      @@NguyenXuanHung a cho e xin nic Facebook ạ

    • @NguyenXuanHung
      @NguyenXuanHung  5 років тому

      Cường Võ Chí facebook là email của mình hungnx185@gmail.com

  • @vnpresent
    @vnpresent 4 роки тому

    tiếng Anh chưa được học hay sao ý,"data" đọc là ra ta,chịu

    • @Hoang_Aluminium
      @Hoang_Aluminium 4 роки тому

      ông bắt bẻ làm éo gì, miễn nội dung có chất lượng tốt

  • @_NGUYENMINHTHUAN
    @_NGUYENMINHTHUAN 2 роки тому

    cực ghét câu:" phải ko nhề ", làm đéo chắc chắn thì đừng làm.

  • @quochungvlog
    @quochungvlog 5 років тому

    Sub giup kenh giup em vou... Cam on nhieu!!

  • @manhhoach2575
    @manhhoach2575 3 роки тому +2

    sao em code phần Thêm y như thầy mà chạy k đc vậy ạ? hàm checkdata cứ trả về false

  • @hungdoan9419
    @hungdoan9419 3 роки тому

    làm sao để khi ID trùng sẽ không thêm được .

    • @NguyenXuanHung
      @NguyenXuanHung  3 роки тому

      Trước khi thực hiện câu lệnh thêm, bạn duyệt qua toàn bộ danh sách sinh viên đã có. Nếu id sinh viên đã tồn tại thì hiển thị thông báo trùng Id, ngược lại bạn cho thêm bình thường

    • @webhaynkbnvn
      @webhaynkbnvn 2 роки тому

      @@NguyenXuanHung tạo sequence tự tăng rồi tạo function general auto return mã sv , trong func sẽ dinh nghĩa mã sv theo rule nào đó vd: SV001 , SV002, lúc insert sv mới thì ko cần nhập mã sv , mã sv đefault call to func