thắc mắc về datagridview trong vb.net mong các bạn giúp đỡ

ZKeitherZ

The Warrior of Light
Lão Làng GVN
Tham gia ngày
28/7/05
Bài viết
2,253
Reaction score
113
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
 

Attachments

  • VBNET.JPG
    VBNET.JPG
    34.2 KB · Đọc: 22
  • VBNET1.JPG
    VBNET1.JPG
    25.2 KB · Đọc: 17
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
 
để 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 :).
 
để 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
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
 
Làm database mà bằng Access thì hình như là trung học chuyên nghiệp thi phải
 
Làm database mà bằng Access thì hình như là trung học chuyên nghiệp thi phải

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
 
Back
Top