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.
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!
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?
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 ạ?
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
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.
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
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
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.
+ 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 ạ!
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.
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.
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 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.
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,...
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!
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!
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
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é.
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 Ạ
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
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
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!!!!
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 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.
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!
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);
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 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.
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
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é?
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
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 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.
Đứ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
@@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
@@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();
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
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 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
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.
@@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 ạ
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
@@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
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
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.
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!
hay quá anh ơi. giảng rất dễ hiểu!!
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?
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 ạ?
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 ạ??
Dấy là dùng cộng chỗi rồi bạn kiểu đó sql hay gặp lỗi
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
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.
@@NguyenXuanHung mình phải ghi rõ ràng chứ ghi "select * from [table-name] được không?
@@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.
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
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.
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
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.
Vâng e cảm ơn ạ,
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 ạ.
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 ạ
Dạ thầy cho em hỏi thêm sinh viên báo đã có lỗi là lỗi gì ạ?
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ì ạ
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
*thầy ơi, còn phần code "sắp xếp" thì như nào ạ???*
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
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
Thầy ơi, nếu lớp lấy từ bảng Lớp thì code như thế nào Thầy
em bị lỗi khi debug. toàn bộ thư mục bin/debug đều trống thì sao ạ ?
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.
@@NguyenXuanHung dạ e vừa sửa hết xong bấm chạy lại thì nó hiện ra lỗi 0x80070057
@@NguyenXuanHung cám ơn anh e sửa đc rồi thiếu dấu } 😃
+ 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 ạ!
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.
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
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 ạ
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
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.
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é.
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 ạ.
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!
Em cx làm như vậy nhưng báo lỗi ở dòng cmd.ExecuteNonQuery();
Còn phần sửa thì chạy đk. Lỗi mỗi phần xoá thôi
@@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.
H thầy còn thời gian có thể nói lại về mô hình 3 lớp dc không ạ
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 ạ?
ở 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.
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,...
@@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.
Hải Nam Trịnh bạn cần hỗ trợ gì, cứ đưa vấn để lên đây nhé
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 .
Thầy ơi, đối với dữ liệu bit trong sql sql mình sử dụng checkbox truyền sao ạ?
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!
@@NguyenXuanHung cám ơn thầy
- 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 ạ
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!
@@NguyenXuanHung - Được rồi ạ
A ơi cho e xin source này tham khảo với được không ạ
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
Em vào sửa chuổi kết nối, thay datasource bằng tên server của em nhé
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 ??
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é.
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 Ạ
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
@@NguyenXuanHung anh ơi trường tự động tăng mình làm răng vậy anh chỉ em với...
Xóa sửa được nhưng ko thêm được thầy ơi
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
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
@@NguyenXuanHung em gửi cho thầy r đấy, giúp e với nhé
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?
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!!!!
Luc em chạy nó kêu lỗi k có hàm main ạ ai giúp e vs
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 ạ
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
E thử nhiều lần rồi nhưng vẫn ko thêm sửa xóa được
@@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.
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
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!
hs.IdLop = (txtIdLop.Text);
mình không biết chọn kiểu dữ liệu nào
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);
@@NguyenXuanHung dạ mình cảm ơn ặ
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ì ạ???
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.
@@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ì ạ
@@trancongtin3250 Bạn muốn thêm, sửa, xóa trực tiếp trên gridview?
@@NguyenXuanHung vâng ạ
@@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.
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
@Phúc Nguyễn t sửa được nút này rồi
@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 à
@@haothanhduong8487 bạn sửa kiểu này như sao hay thế chỉ mình với
Con muốn làm thêm 1 button Undo thì làm như thế nào ạ
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
Thầy ơi chỉ e cách fix lỗi đoạn 3:38 đến 3:50 với ạ
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é
Quản lý tiền điện s ạ
hay quá thầy ơi
Em đội ơn anh
Đại thần xin nhận lấy đầu gối của em!
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
khi bấm xóa thì Messegebox báo là xãy ra lỗi@@ giúp em với :(((
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é?
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
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é.
câu lệnh thêm ý anh, nhưng dữ liệu phải liên kết từ 2 bảng anh ạ
@@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.
em cũng làm như vậy mà vẫn ko thêm được :(
Đứ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
Hay lắm thầy ơi.
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é
Không thể xóa được dòng nào đó bạn?
Cho e xin suorce code được k thầy
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
Đạ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é
@@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
@@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();
Anh ơi, anh sửa lỗi làm sao vậy. Giúp em với.
@@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é
thầy ơi . s e chạy mà nó báo bị lỗi chỗ con.Open v ạ
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
Thầy ơi, thầy dạy trên trường đây ạ ?
*thầy ơi, tại sao của em không có txtMaSV, txtTenSV.... vậy ạ?*
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,...)
@@NguyenXuanHung oke e làm đc rồi
@@NguyenXuanHung dạ cho em hỏi tiếp
*cái dataGridViewSinhVien ở đâu ạ?*
@@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
@@NguyenXuanHung dạ thank U
Thầy cho e xin slide bài giảng với
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é.
Anh cho em xin code lẫn database sql với ạ
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.
@@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 ạ
thầy cho em xin CSDL được không ạ
hay
lắm
♥
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é.
Thầy ơi cho em xin code này về học dc k
Chào bạn,
Bạn download code ở đây nhé: www.mediafire.com/file/48t21xrdryoaioa/Winform_TH_QLSV_N1.rar
thầy ơi em xin code đc không thầy
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 ạ
Mân Chu Huy em xem video và gõ lại nhé.
thầy ởi thầy cho e cái code với. mái em làm báo cáo rồi ạ
Cường Võ Chí Tối về mình gửi bạn link code và database để bạn tham khảo nhé
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
@@NguyenXuanHung dạ. E cảm ơn a ạ
@@NguyenXuanHung a cho e xin nic Facebook ạ
Cường Võ Chí facebook là email của mình hungnx185@gmail.com
tiếng Anh chưa được học hay sao ý,"data" đọc là ra ta,chịu
ông bắt bẻ làm éo gì, miễn nội dung có chất lượng tốt
cực ghét câu:" phải ko nhề ", làm đéo chắc chắn thì đừng làm.
Sub giup kenh giup em vou... Cam on nhieu!!
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
làm sao để khi ID trùng sẽ không thêm được .
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
@@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