• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Không thêm dữ liệu được :((

Nơi trao đổi về các vấn đề trong lập trình Windows Forms, Console dùng cú pháp ngôn ngữ Visual Basic .NET và C#

Moderators: tungblt, vuathongtin

smilee
Posts: 3
Joined: Thu 03/06/2010 5:07 pm
Has thanked: 1 time

Không thêm dữ liệu được :((

Postby smilee » Thu 03/06/2010 5:24 pm

mình viết code cho nút thêm nhưng mà nó không thêm dữ liệu vào được, ai biết nó sai chỗ nào chỉ mình với

Code: Select all

    Dim str_Cn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & System.Windows.Forms.Application.StartupPath() & "\QLTV.mdb"
    Dim Con_nn As New OleDbConnection(str_Cn)
    Dim strSql As String = "select * from DocGia"
    Dim da As OleDbDataAdapter = New OleDbDataAdapter(strSql, Con_nn)
    Dim dt As New DataTable
    Private Sub QLDG_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Try
            Con_nn.Open()
            da.Fill(dt)
            dgvDSDG.DataSource = dt
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Sub luu()
        Dim dr As DataRow = dt.NewRow
        dr(0) = txtMaDG.Text
        dr(1) = txtTenDG.Text
        dr(2) = dtpNS.Text
        If radNam.Checked Then
            dr(3) = True
        Else
            dr(3) = False
        End If
        dr(4) = txtDC.Text
        dr(5) = dtpdk.Text
        dr(6) = dtphh.Text
        dt.Rows.Add(dr)
        Try
            da.Update(dt)
        Catch ex As Exception
            MsgBox("Loi khong ghi dc")
        End Try
    End Sub

    Private Sub btnThem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThem.Click
        luu()
    End Sub

đây là hình ảnh nó bị lỗi
Image



User avatar
lungocqua
Guru
Guru
Posts: 1225
Joined: Tue 18/08/2009 11:51 am
Location: Phú Hữu - Nhơn Trạch - Đồng Nai
Been thanked: 5 times
Contact:

Re: Không thêm dữ liệu được :((

Postby lungocqua » Thu 03/06/2010 8:32 pm

Bạn có thể tìm lỗi này với từ khóa: Update requires a valid InsertCommand when passed DataRow collection with new rows.
:D
  1. Dim str_Cn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & System.Windows.Forms.Application.StartupPath() & "\QLTV.mdb"
  2.     Dim Con_nn As New OleDbConnection(str_Cn)
  3.     Dim strSql As String = "select * from DocGia"
  4.     Dim da As OleDbDataAdapter = New OleDbDataAdapter(strSql, Con_nn)
  5.     Dim dt As New DataTable
  6.     Private Sub QLDG_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  7.         Try
  8.             Con_nn.Open()
  9.             da.Fill(dt)
  10.             dgvDSDG.DataSource = dt
  11.         Catch ex As Exception
  12.             MsgBox(ex.Message)
  13.         End Try
  14.     End Sub
  15.     Sub luu()
  16.         Dim dr As DataRow = dt.NewRow
  17.         dr(0) = txtMaDG.Text
  18.         dr(1) = txtTenDG.Text
  19.         dr(2) = dtpNS.Text
  20.         If radNam.Checked Then
  21.             dr(3) = True
  22.         Else
  23.             dr(3) = False
  24.         End If
  25.         dr(4) = txtDC.Text
  26.         dr(5) = dtpdk.Text
  27.         dr(6) = dtphh.Text
  28.         dt.Rows.Add(dr)
  29.  
  30.         'Thêm 3 dòng mới
  31.         Dim myCom As New OleDbCommandBuilder(da)
  32.         myCom.GetUpdateCommand()
  33.         da.UpdateCommand = myCom.GetUpdateCommand()
  34.  
  35.         Try
  36.             da.Update(dt)
  37.         Catch ex As Exception
  38.             MsgBox("Loi khong ghi dc")
  39.         End Try
  40.     End Sub
  41.  
  42.     Private Sub btnThem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThem.Click
  43.         luu()
  44.     End Sub

P/s:Nhớ cho đoạn mã vào thẻ [vb net] [/vb net] nhé! Nó nằm trong Combo Programming Languege ấy! (vb net với liền không khoảng trắng)
Ta đã trở lại và quên hết tất cả! :D

smilee
Posts: 3
Joined: Thu 03/06/2010 5:07 pm
Has thanked: 1 time

Re: Không thêm dữ liệu được :((

Postby smilee » Thu 03/06/2010 8:58 pm

cám ơn bạn đã trợ giúp form hoạt động được rồi
p/s: mới vào nên không biết: xin lỗi và sẽ rút kinh nghiệm :D

kingonlinedn91
Posts: 7
Joined: Fri 08/04/2011 7:42 pm

Re: Không thêm dữ liệu được :((

Postby kingonlinedn91 » Sun 27/11/2011 12:43 am

Bạn ơi có thể cho mình bít dòng dgvDSDG.DataSource = dt nghĩa là gì và dgvDSDG ở đâu ra? nó là cơ sở dữ liệu tên "DSDG" hả bạn. Nếu "DSDG" là CSDL thì "dgv" là gì bạn? Bạn có thể giải thích hộ mình được không?

User avatar
vuathongtin
Điều hành viên
Điều hành viên
Posts: 1028
Joined: Sun 02/05/2010 10:03 pm
Location: Xứ sở DG
Has thanked: 2 times
Been thanked: 105 times
Contact:

Re: Không thêm dữ liệu được :((

Postby vuathongtin » Sun 27/11/2011 6:47 am

dgvDSDG là control Datagridview đó e
Bùi Thành Nhân
* Chuyên gia MMO
congtacvien.online


Return to “Visual Basic .NET và C# (VB.NET & C#)”

Who is online

Users browsing this forum: No registered users and 8 guests