hiên tại mình đang học vb.net mình học kết nối CDSL (access) vào vb.net và xữ lý các biến cố thêm xóa sữa, và đã xữ lý dc nhưng phải use các textbox để làm trung gian hình 1 giờ mình muốn thực hiện các thao tác trên ngay trên datagridview luôn ví dụ như sao khi thêm 2 dòng mới trên datagridview thì bấm nút update cái nó sẽ ghi lại 2 dòng đó vào CSDL luôn hình 2 mình lập trình với VB.NET thanks các bạn
Có cái code nho nhỏ bạn tham khảo xem (cái này viết theo mô hình 3 lớp nhé, viết trong lớp DAO) : Mã: Public Sub Them(ByVal nvDto As NhanVienDto) Dim cn As OleDbConnection 'B1 & B2: Tao chuoi ket noi, mo ket noi bang doi tuong ket noi cn = Database.ConnectionData() 'B3: Tao chuoi strSQL thao tac CSDL Dim strSQL As String strSQL = "Insert into NhanVien(MaNV, TenNV, GioiTinh, CMND, NgaySinh, DiaChi, MaDV) values (?, ?, ?, ?, ?, ?, ?)" 'B4: Thuc thi chuoi strSQL Dim cmd As New OleDbCommand(strSQL, cn) cmd.Parameters.Add("@MaNV", OleDbType.Integer) cmd.Parameters.Add("@TenNV", OleDbType.WChar) cmd.Parameters.Add("@GioiTinh", OleDbType.WChar) cmd.Parameters.Add("@CMND", OleDbType.WChar) cmd.Parameters.Add("@NgaySinh", OleDbType.Date) cmd.Parameters.Add("@DiaChi", OleDbType.WChar) cmd.Parameters.Add("@MaDV", OleDbType.Integer) cmd.Parameters("@MaNV").Value = nvDto.MaNV cmd.Parameters("@TenNV").Value = nvDto.TenNV cmd.Parameters("@GioiTinh").Value = nvDto.GioiTinh cmd.Parameters("@CMND").Value = nvDto.CMND cmd.Parameters("@NgaySinh").Value = nvDto.NgaySinh cmd.Parameters("@DiaChi").Value = nvDto.DiaChi cmd.Parameters("@MaDV").Value = nvDto.MaDV cmd.ExecuteNonQuery() strSQL = "Select @@IDENTITY" cmd = New OleDbCommand(strSQL, cn) nvDto.MaNV = cmd.ExecuteScalar() 'B5: Dong ket noi CSDL cn.Close() End Sub
để mình tìm hiểu cái này, nhưng mà cái này kết nối CSDL SQL còn mình đang làm access dù sao cũng cám ơn bạn
Bài của bạn trên là làm Access mà(OleDb đó thay), còn bạn muốn làm bằng SQL thì thay đổi các câu lệnh của nó một xíu thôi. Bản chất 2 cái là y như nhau chỉ thay tên hàm :).
Oledb cả sql, oracle đều chiến được nhưng chậm hơn (nhớ mang máng là còn mấy cái thư viện khác dành riêng cho cả 2 thằng chứ ko chỉ có oledb)
mình coi rồi mà chưa hiểu lắm code đó cao siêu quá mà mình thì chỉ mới học căn bản thôi mình làm dc như vậy nè, mà khi thêm vào CSDL nó lại là dữ liệu trống (tức là NULL đó) Mã: Dim BangP As DataTable = LT_Bang.Doc("Select * From PHONG") Dim Dong As DataRow = BangP.NewRow Dim rowNumber As Integer = 1 For Each curRow As DataGridViewRow In Luoi.Rows If (curRow.IsNewRow()) Then Dong("TENPHONG") = curRow.Cells("TENPHONG").Value Dong("DONGIA") = curRow.Cells("DONGIA").Value End If Next BangP.Rows.Add(Dong) LT_Bang.Ghi(BangP, "PHONG") mình chỉ thắc mắc ở chỗ làm sao lấy dc cái dữ lliệu mà mình nhập trên datagridview đó chỉ cần lấy dc là mình có thể thêm vào CSDL ngay nhưng tìm hoài cũng ko cách nào lấy dc cả giúp mình nhé cám ơn bạn nhiều lắm
Mã: Dim BangP As New DataTable BangP = Luoi.DataSource LT_Bang.Ghi(BangP, "PHONG") mình đã thêm dòng ngay trên datagridview dc rồi nhưng mà sửa dữ liệu và dele ngay trên datagridview thì nó báo lỗi làm thế nào để mình biết là 1 ô nào đó trên datagridview đã bị thay đỗi dữ liệu vậy thanks
Ai bảo, t Đại học đây mà vẫn làm ASP với MSDB Access đây này, chả có cái gì là phải cấp này hay cấp kia mới hoc được cả, cái nào tối ưu và mang lại lợi ích thì làm thôi