• 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

VB.Net và Access Database

Các bài viết hướng dẫn về Visual Basic .NET và C#

Điều hành viên: tungcan5diop, QUANITGROBEST

Hình đại diện của người dùng
vuathongtin
Điều hành viên
Điều hành viên
Bài viết: 1028
Ngày tham gia: CN 02/05/2010 10:03 pm
Đến từ: Xứ sở DG
Has thanked: 2 time
Been thanked: 105 time
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi vuathongtin » CN 14/11/2010 6:02 pm

Sao biết nó ko chạy, chắc bạn chưa add row mới thêm vào datatable nên nó chưa hiện ra trên Lưới DGV
Bạn thử thêm dt.Rows.Add(row) vào phía trên dòng DataGridView1.DataSource = dt

  1.   Dim row As DataRow = dt.NewRow()
  2.         row("MASV") = TextBox5.Text
  3.         row("TENSV") = TextBox6.Text
  4.  
  5.         dt.Rows.Add(row) 'Thêm dòng này
  6.  
  7.         DataGridView1.DataSource = dt
  8.         Dim commandInsert As New SqlCommand
  9.         commandInsert.Connection = conn
  10.         commandInsert.CommandType = CommandType.Text
  11.         commandInsert.CommandText = "Insert Into SINHVIEN Values (@MASV,@TENSN)"
  12.         commandInsert.Parameters.Add("@MASV", SqlDbType.Char, 10, "MASV")
  13.         commandInsert.Parameters.Add("@TENSV", SqlDbType.NVarChar, 50, "TENSV")
  14.         da.InsertCommand = commandInsert
  15.         da.Update(dt)


Bùi Thành Nhân
CNTT-Sở Thông tin & Truyền thông tỉnh Phú Yên
giasulaptrinh.com
Skype:vuathongtin

ltvvt
Thành viên chính thức
Thành viên chính thức
Bài viết: 19
Ngày tham gia: T.Hai 01/11/2010 8:25 am

Re: VB.Net và Access Database

Gửi bàigửi bởi ltvvt » CN 14/11/2010 6:15 pm

  1.         Dim row As DataRow = dt.Select("MASV = '" & TextBox1.Text & "'")(0)
  2.         row.BeginEdit()
  3.         row("TENSV") = TextBox2.Text
  4.         row.EndEdit()
  5.         DataGridView1.DataSource = dt
  6.         Dim commandUpdate As New SqlCommand
  7.         commandUpdate.Connection = conn
  8.         commandUpdate.CommandType = CommandType.Text
  9.         commandUpdate.CommandText = "Update SINHVIEN Set MASV=@MASV, TENSV=@TENSV"
  10.         commandUpdate.Parameters.Add("@MASV", SqlDbType.Char, 10, "MASV")
  11.         commandUpdate.Parameters.Add("@TENSV", SqlDbType.NVarChar, 50, "TENSV")
  12.         da.UpdateCommand = commandUpdate
  13.         da.Update(dt)

  1.  nó bị lỗi ngay chỗ da.update(dt)

  1. Violation of PRIMARY KEY constraint 'PK_SINHVIEN'. Cannot insert duplicate key in object 'SINHVIEN'. The statement has been terminated.

Hình đại diện của người dùng
vuathongtin
Điều hành viên
Điều hành viên
Bài viết: 1028
Ngày tham gia: CN 02/05/2010 10:03 pm
Đến từ: Xứ sở DG
Has thanked: 2 time
Been thanked: 105 time
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi vuathongtin » CN 14/11/2010 6:40 pm

SQL update bị sai cú pháp rùi
Như vầy mới đúng :

Mã: Chọn hết

Update SINHVIEN Set TENSV=@TENSV where MASV=@MASV


  1.  Dim row As DataRow = dt.Select("MASV = '" & TextBox1.Text & "'")(0)
  2.         row.BeginEdit()
  3.         row("TENSV") = TextBox2.Text
  4.         row.EndEdit()
  5.         DataGridView1.DataSource = dt
  6.         Dim commandUpdate As New SqlCommand
  7.         commandUpdate.Connection = conn
  8.         commandUpdate.CommandType = CommandType.Text
  9.         commandUpdate.CommandText = "Update SINHVIEN Set TENSV=@TENSV where MASV=@MASV"
  10.  
  11.         commandUpdate.Parameters.Add("@TENSV", SqlDbType.NVarChar, 50, "TENSV")
  12.  
  13.         da.UpdateCommand = commandUpdate
  14.         da.Update(dt)
Bùi Thành Nhân
CNTT-Sở Thông tin & Truyền thông tỉnh Phú Yên
giasulaptrinh.com
Skype:vuathongtin

emilyde519n
Bài viết: 4
Ngày tham gia: CN 25/10/2009 4:45 pm

Re: VB.Net và Access Database

Gửi bàigửi bởi emilyde519n » T.Ba 14/12/2010 8:36 am

Chào các bạn. Mình viết code cho form nhân viên như sau
Hình ảnh
  1. Private Sub NhanVienForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.         'TODO: This line of code loads data into the 'VBHOADONDataSet.NhanVien' table. You can move, or remove it, as needed.
  3.         Me.NhanVienTableAdapter.Fill(Me.VBHOADONDataSet.NhanVien)
  4.  
  5.         Dim ketnoi As New OleDbConnection
  6.         ketnoi.ConnectionString = ConfigurationManager.AppSettings("ChuoiKetNoi")
  7.         ketnoi.Open()
  8.        
  9.         TextB_MaNV.DataBindings.Clear()
  10.         TextB_MaNV.DataBindings.Add("text", BindingSource1, "MaNV")
  11.         TextB_Ho.DataBindings.Clear()
  12.         TextB_Ho.DataBindings.Add("text", BindingSource1, "Ho")
  13.         TextB_Ten.DataBindings.Clear()
  14.         TextB_Ten.DataBindings.Add("text", BindingSource1, "Ten")
  15.         CheckB_Nu.DataBindings.Clear()
  16.         CheckB_Nu.DataBindings.Add("checked", BindingSource1, "Nu") 'Gioi tinh thuoc kieu check hay khong check
  17.         TextB_DiaChi.DataBindings.Clear()
  18.         TextB_DiaChi.DataBindings.Add("text", BindingSource1, "DiaChi")
  19.         TextB_DienThoai.DataBindings.Clear()
  20.         TextB_DienThoai.DataBindings.Add("text", BindingSource1, "DienThoai")
  21.         TextB_NgayNV.DataBindings.Clear()
  22.         TextB_NgayNV.DataBindings.Add("text", BindingSource1, "NgayNV")
  23.         PictureB_HinhNV.DataBindings.Clear()
  24.         PictureB_HinhNV.DataBindings.Add("text", BindingSource1, "Hinh")
  25.     End Sub
  26.  
  27.  


Nút Thêm của mình:
  1. Private Sub Button_Them_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Them.Click
  2.  
  3.         Dim ketnoi As New OleDbConnection
  4.         ketnoi.ConnectionString = ConfigurationManager.AppSettings("ChuoiKetNoi")
  5.         ketnoi.Open()
  6.  
  7.         Dim s As String = "Select * From NhanVien"
  8.         Dim dt As New DataTable("NhanVien")
  9.         Dim da As New OleDbDataAdapter(s, ketnoi)
  10.         da.Fill(dt)
  11.         DataGridView1.DataSource = dt
  12.  
  13.         Dim row As DataRow = dt.NewRow()
  14.  
  15.         row("MaNV") = TextB_MaNV.Text
  16.         row("Ho") = TextB_Ho.Text
  17.         row("Ten") = TextB_Ten.Text
  18.         row("Nu") = CheckB_Nu.CheckState
  19.         row("DienThoai") = TextB_DienThoai.Text
  20.         row("DiaChi") = TextB_DiaChi.Text
  21.         row("NgayNV") = TextB_NgayNV.Text
  22.         dt.Rows.Add(row)    'thêm cột mới vào dt
  23.  
  24.         Try
  25.             Dim cmdinsert As New OleDbCommand()
  26.             cmdinsert.Connection = ketnoi
  27.             cmdinsert.CommandType = CommandType.Text
  28.  
  29.             cmdinsert.CommandText = "Insert Into VBHOADON.NhanVien(MaNV,Ho,Ten,Nu,DiaChi,DienThoai,NgayNV) Values (@MaNV,@Ho,@Ten,@Nu,@DiaChi,@DienThoai,@NgayNV)"
  30.             cmdinsert.Parameters.Add("@MaNV", OleDbType.VarChar).Value = TextB_MaNV.Text
  31.             cmdinsert.Parameters.Add("@Ho", OleDbType.VarChar).Value = TextB_Ho.Text
  32.             cmdinsert.Parameters.Add("@Ten", OleDbType.VarChar).Value = TextB_Ten.Text
  33.             cmdinsert.Parameters.Add("@NgayNV", OleDbType.Date).Value = TextB_NgayNV.Text
  34.             cmdinsert.Parameters.Add("@DiaChi", OleDbType.VarChar).Value = TextB_DiaChi.Text
  35.             cmdinsert.Parameters.Add("@DienThoai", OleDbType.VarChar).Value = TextB_DienThoai.Text
  36.             cmdinsert.Parameters.Add("@Nu", OleDbType.Boolean).Value = CheckB_Nu.CheckState
  37.  
  38.             da.InsertCommand = cmdinsert 'gán cmdinsert
  39.             da.Update(dt)
  40.  
  41.             Label_ThongBao.Text = "Đã thêm nhân viên"
  42.         Catch ex As Exception
  43.             MsgBox(ex.Message)
  44.             Label_ThongBao.Text = "Rất tiếc! Có lỗi xảy ra!"
  45.         End Try
  46.  


Nút Sửa:
  1. Dim ketnoi As New OleDbConnection
  2.         ketnoi.ConnectionString = ConfigurationManager.AppSettings("ChuoiKetNoi")
  3.         ketnoi.Open()
  4.  
  5.         Dim s As String = "Select MaNV,Ho,Ten,Nu,DienThoai,DiaChi,NgayNV From NhanVien"
  6.         Dim dt As New DataTable("NhanVien")
  7.         Dim da As New OleDbDataAdapter(s, ketnoi)
  8.         da.Fill(dt)
  9.         DataGridView1.DataSource = dt
  10.  
  11.         Dim row As DataRow = dt.Select("MaNV =' " & Convert.ToInt32(TextB_MaNV.Text) & "'")(0)
  12.  
  13.         row.BeginEdit()
  14.  
  15.         row("MaNV") = TextB_MaNV.Text
  16.         row("Ho") = TextB_Ho.Text
  17.         row("Ten") = TextB_Ten.Text
  18.         row("Nu") = CheckB_Nu.CheckState
  19.         row("DienThoai") = TextB_DienThoai.Text
  20.         row("DiaChi") = TextB_DiaChi.Text
  21.         row("NgayNV") = TextB_NgayNV.Text
  22.  
  23.         row.EndEdit()
  24.         Try
  25.             'update sự thay đổi vào dữ liệu nguồn
  26.             Dim cmdupdate As New OleDbCommand()
  27.             cmdupdate.Connection = ketnoi
  28.             cmdupdate.CommandType = CommandType.Text
  29.  
  30.             cmdupdate.CommandText = "Update VBHOADON.NhanVien Set Ho=@Ho,Ten=@Ten,Nu=@Nu,DiaChi=@DiaChi,NgayNV=@NgayNV Where MaNV=@MaNV"
  31.             cmdupdate.Parameters.Add("@MaNV", OleDbType.Numeric).Value = TextB_MaNV.Text
  32.             cmdupdate.Parameters.Add("@Ho", OleDbType.VarChar).Value = TextB_Ho.Text
  33.             cmdupdate.Parameters.Add("@Ten", OleDbType.VarChar).Value = TextB_Ten.Text
  34.             cmdupdate.Parameters.Add("@NgayNV", OleDbType.Date).Value = TextB_NgayNV.Text
  35.             cmdupdate.Parameters.Add("@DienThoai", OleDbType.Numeric).Value = TextB_DienThoai.Text
  36.             cmdupdate.Parameters.Add("@DiaChi", OleDbType.VarChar).Value = TextB_DiaChi.Text
  37.             cmdupdate.Parameters.Add("@Nu", OleDbType.Boolean).Value = CheckB_Nu.CheckState
  38.  
  39.             da.UpdateCommand = cmdupdate
  40.             da.Update(dt)
  41.             ketnoi.Close()
  42.  
  43.             Label_ThongBao.Text = "Đã sửa thông tin nhân viên"
  44.         Catch ex As Exception
  45.             Label_ThongBao.Text = "Rất tiếc! Có lỗi xảy ra!"
  46.             MsgBox(ex.Message)
  47.         End Try


Khi mình thêm nhân viên thì thông báo lỗi là
Hình ảnh
Khi mình sửa thông tin thì
Hình ảnh
Mong các bạn sửa lỗi giúp mình
DeThiThu_VS2010.rar
Mình lập trình trên Visual Studio 2010
(887.03 KiB) Đã tải 545 lần

Hình đại diện của người dùng
lungocqua
Guru
Guru
Bài viết: 1225
Ngày tham gia: T.Ba 18/08/2009 11:51 am
Đến từ: Phú Hữu - Nhơn Trạch - Đồng Nai
Been thanked: 5 time
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi lungocqua » T.Ba 14/12/2010 10:35 am

Lỗi nhiều quá! :(
  1.     Private Sub Button_Them_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Them.Click
  2.         Dim ketnoi As New OleDbConnection
  3.         ketnoi.ConnectionString = ConfigurationManager.AppSettings("ChuoiKetNoi")
  4.         Dim lenh As String
  5.         Try
  6.             lenh = "Insert Into NhanVien(MaNV,Ho,Ten,Nu,DiaChi,NgayNV) Values (" & TextB_MaNV.Text & ", '" & TextB_Ho.Text & "', '" & TextB_Ten.Text & "'," & CheckB_Nu.Checked & ", '" & TextB_DiaChi.Text & "' ,#" & TextB_NgayNV.Text & "#)"
  7.             Dim bolenh As New OleDbCommand(lenh, ketnoi)
  8.             ketnoi.Open()
  9.             If ketnoi.State = ConnectionState.Closed Then ketnoi.Open()
  10.             bolenh.ExecuteNonQuery()
  11.             If ketnoi.State = ConnectionState.Open Then ketnoi.Close()
  12.             Label_ThongBao.Text = "Đã thêm nhân viên"
  13.         Catch ex As Exception
  14.             Label_ThongBao.Text = "Rất tiếc! Có lỗi xảy ra!"
  15.             If ketnoi.State = ConnectionState.Open Then ketnoi.Close()
  16.         End Try
  17.     End Sub
  18.  
  19.     Private Sub Button_Sua_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Sua.Click
  20.         Dim ketnoi As New OleDbConnection
  21.         ketnoi.ConnectionString = ConfigurationManager.AppSettings("ChuoiKetNoi")
  22.         ketnoi.Open()
  23.  
  24.         Dim s As String = "Select MaNV,Ho,Ten,Nu,DienThoai,DiaChi,NgayNV From NhanVien"
  25.         'Tạo một đối tượng Datatable nhận dữ liệu trả về
  26.         Dim dt As New DataTable("NhanVien")
  27.         'Tạo bộ máy DataAdapter thực hiện conmmand
  28.         Dim da As New OleDbDataAdapter(s, ketnoi)
  29.         da.Fill(dt)
  30.         DataGridView1.DataSource = dt
  31.  
  32.         Dim row As DataRow = dt.Select("MaNV =' " & Convert.ToInt32(TextB_MaNV.Text) & "'")(0)
  33.  
  34.         row.BeginEdit()
  35.  
  36.         row("MaNV") = TextB_MaNV.Text
  37.         row("Ho") = TextB_Ho.Text
  38.         row("Ten") = TextB_Ten.Text
  39.         row("Nu") = CheckB_Nu.CheckState
  40.         row("DienThoai") = TextB_DienThoai.Text
  41.         row("DiaChi") = TextB_DiaChi.Text
  42.         row("NgayNV") = TextB_NgayNV.Text
  43.  
  44.         row.EndEdit()
  45.         Try
  46.             'update sự thay đổi vào dữ liệu nguồn
  47.             Dim cmdupdate As New OleDbCommand()
  48.             cmdupdate.Connection = ketnoi
  49.             cmdupdate.CommandType = CommandType.Text
  50.  
  51.             cmdupdate.CommandText = "Update NhanVien Set MaNV=@MaNV,Ho=@Ho,Ten=@Ten,Nu=@Nu,DiaChi=@DiaChi,NgayNV=@NgayNV,DienThoai=@DienThoai Where MaNV=@MaNV"
  52.             cmdupdate.Parameters.Add("@MaNV", OleDbType.Double).Value = TextB_MaNV.Text
  53.             cmdupdate.Parameters.Add("@Ho", OleDbType.VarChar, 255).Value = TextB_Ho.Text
  54.             cmdupdate.Parameters.Add("@Ten", OleDbType.VarChar, 255).Value = TextB_Ten.Text
  55.             cmdupdate.Parameters.Add("@Nu", OleDbType.Boolean).Value = CheckB_Nu.Checked
  56.             cmdupdate.Parameters.Add("@DiaChi", OleDbType.VarChar, 255).Value = TextB_DiaChi.Text
  57.             cmdupdate.Parameters.Add("@NgayNV", OleDbType.Date).Value = TextB_NgayNV.Text
  58.             cmdupdate.Parameters.Add("@DienThoai", OleDbType.Double).Value = TextB_DienThoai.Text
  59.  
  60.             'áp đặt sự thay đổi vào data nguồn
  61.             da.UpdateCommand = cmdupdate
  62.             If ketnoi.State = ConnectionState.Closed Then ketnoi.Open()
  63.             Dim cd As New OleDbCommandBuilder(da)
  64.             da.Update(dt)
  65.             If ketnoi.State = ConnectionState.Open Then ketnoi.Close()
  66.             Label_ThongBao.Text = "Đã sửa thông tin nhân viên"
  67.         Catch ex As Exception
  68.             If ketnoi.State = ConnectionState.Open Then ketnoi.Close()
  69.             Label_ThongBao.Text = "Rất tiếc! Có lỗi xảy ra!"
  70.             MsgBox(ex.Message)
  71.         End Try
  72.  
  73.     End Sub

Bạn sửa lại cái Relationship giữ NhanVien với HoaDon như hình bên dưới nữa mới chạy được (chọn check 3 checkbox đó).
Tập tin đính kèm
untitled.PNG
Cập nhật Relationship
Ta đã trở lại và quên hết tất cả! :D

emilyde519n
Bài viết: 4
Ngày tham gia: CN 25/10/2009 4:45 pm

Re: VB.Net và Access Database

Gửi bàigửi bởi emilyde519n » T.Ba 14/12/2010 11:47 am

@lungocqua: cảm ơn bạn nhiều lắm, mình đã sửa được và cũng đã hiểu nguyên nhân :D
Nhưng cho mình hỏi tại sao sau khi debug lại lần nữa thì thông tin mới hoặc vừa sửa lại không xuất hiện trong CSDL?

Hình đại diện của người dùng
lungocqua
Guru
Guru
Bài viết: 1225
Ngày tham gia: T.Ba 18/08/2009 11:51 am
Đến từ: Phú Hữu - Nhơn Trạch - Đồng Nai
Been thanked: 5 time
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi lungocqua » T.Ba 14/12/2010 3:15 pm

Vì cái Project của bạn có hai cái CSDL, một cái này phía ngoài còn một cái này trong thư mục Debug. Mỗi lần bạn build thì nó sẽ copy cái CSDL bên ngoài bõ vào trong Debug nên mới có chuyện như bạn nói. Mai mốt ban mang đi đóng gói thì cần ít nhất là ba tập tin exe + mdb + config :D
Ta đã trở lại và quên hết tất cả! :D

emilyde519n
Bài viết: 4
Ngày tham gia: CN 25/10/2009 4:45 pm

Re: VB.Net và Access Database

Gửi bàigửi bởi emilyde519n » T.Ba 14/12/2010 3:23 pm

@lungocqua: many thanks :))

hachun
Thành viên chính thức
Thành viên chính thức
Bài viết: 15
Ngày tham gia: CN 29/08/2010 8:30 pm

Re: VB.Net và Access Database

Gửi bàigửi bởi hachun » T.Ba 21/12/2010 4:45 pm

Chào lungocquavuathongtin!
Nhờ sự chỉ bảo nhiệt tình của các bạn trong thời gian qua tôi đã hoàn thành được bài tập tốt nghiệp của mình. (Kết quả khá tốt). Chúc các bạn sức khỏe và có nhiều đóng góp hơn nữa cho cộng đồng VB.
Ít ngày nữa mình có một bài tập mới :) , có thể lại phải nhờ các bạn!

Hình đại diện của người dùng
nhunv.vbard
Thành viên chính thức
Thành viên chính thức
Bài viết: 38
Ngày tham gia: T.Ba 04/01/2011 10:41 am
Đến từ: HV Ngân hàng
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi nhunv.vbard » T.Năm 13/01/2011 9:16 am

Các anh cho em hỏi còn cập nhật từ DataGridview xuống CSDL là SQL server2005 thì như thế nào? mong các anh chỉ giáo, em mới mò mẫm vào cái này nên không biết làm thế nào. Trân thành cảm ơn.

Hình đại diện của người dùng
vuathongtin
Điều hành viên
Điều hành viên
Bài viết: 1028
Ngày tham gia: CN 02/05/2010 10:03 pm
Đến từ: Xứ sở DG
Has thanked: 2 time
Been thanked: 105 time
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi vuathongtin » T.Năm 13/01/2011 10:43 am

  1.   Sub capnhatthaydoi()
  2.                    cb = New OleDbCommandBuilder(da)
  3.                    da.Update(dt)
  4.                    dt.AcceptChanges()
  5.    End Sub


Chú ý : Dữ liệu load vào DGV phải đc lấy từ datatable thông qua phương thức Fill của DataAdapter

Xem thêm ở đây : http://caulacbovb.com/forum/viewtopic.php?f=23&t=13475

Ngoài ra bạn có tìm xem một số bài của bạn lungocqua : http://caulacbovb.com/forum/search.php?author_id=12728&sr=posts

Hoặc vào kho tài liệu này : http://caulacbovb.com/forum/viewtopic.php?f=8&t=15377
Bùi Thành Nhân
CNTT-Sở Thông tin & Truyền thông tỉnh Phú Yên
giasulaptrinh.com
Skype:vuathongtin

Hình đại diện của người dùng
nhunv.vbard
Thành viên chính thức
Thành viên chính thức
Bài viết: 38
Ngày tham gia: T.Ba 04/01/2011 10:41 am
Đến từ: HV Ngân hàng
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi nhunv.vbard » T.Năm 13/01/2011 10:55 am

Cám ơn an em sẽ nghiên cứu, có đoạn nào mắc mong các anh giúp đỡ nhé. Thank

Hình đại diện của người dùng
nhunv.vbard
Thành viên chính thức
Thành viên chính thức
Bài viết: 38
Ngày tham gia: T.Ba 04/01/2011 10:41 am
Đến từ: HV Ngân hàng
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi nhunv.vbard » T.Năm 13/01/2011 1:40 pm

Các bác cho em hỏi cái OledbCommandBuider thì add cái gì thì có được nó hả các bác, em không có cái đó để hỗ trợ, cứ nhập vào thì bị gạch chân mầu xanh, các bác giúp em với.

Hình đại diện của người dùng
vuathongtin
Điều hành viên
Điều hành viên
Bài viết: 1028
Ngày tham gia: CN 02/05/2010 10:03 pm
Đến từ: Xứ sở DG
Has thanked: 2 time
Been thanked: 105 time
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi vuathongtin » T.Năm 13/01/2011 2:23 pm

Import System.Data.OleDb
Bùi Thành Nhân
CNTT-Sở Thông tin & Truyền thông tỉnh Phú Yên
giasulaptrinh.com
Skype:vuathongtin

Hình đại diện của người dùng
nhunv.vbard
Thành viên chính thức
Thành viên chính thức
Bài viết: 38
Ngày tham gia: T.Ba 04/01/2011 10:41 am
Đến từ: HV Ngân hàng
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi nhunv.vbard » T.Sáu 14/01/2011 10:01 am

Nhưng em dùng Import System.Data.SqlClient thì làm như thế nào hả anh, em sử dụng CSDL là SQL server 2005 mà, giúp em với

Hình đại diện của người dùng
vuathongtin
Điều hành viên
Điều hành viên
Bài viết: 1028
Ngày tham gia: CN 02/05/2010 10:03 pm
Đến từ: Xứ sở DG
Has thanked: 2 time
Been thanked: 105 time
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi vuathongtin » T.Sáu 14/01/2011 10:36 am

Bạn chỉ cần khai báo như sau : SqlCommandBuilder
Bùi Thành Nhân
CNTT-Sở Thông tin & Truyền thông tỉnh Phú Yên
giasulaptrinh.com
Skype:vuathongtin

Hình đại diện của người dùng
nhunv.vbard
Thành viên chính thức
Thành viên chính thức
Bài viết: 38
Ngày tham gia: T.Ba 04/01/2011 10:41 am
Đến từ: HV Ngân hàng
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi nhunv.vbard » T.Sáu 14/01/2011 11:06 am

Anh ơi còn phài thêm cái gì nữa không? em làm như anh hướng dẫn khi nhấp cập nhật thì nó chẳng nói gì, cũng chảng bào lỗi gì chứ.

Hình đại diện của người dùng
nhunv.vbard
Thành viên chính thức
Thành viên chính thức
Bài viết: 38
Ngày tham gia: T.Ba 04/01/2011 10:41 am
Đến từ: HV Ngân hàng
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi nhunv.vbard » T.Sáu 14/01/2011 11:56 am

Các anh xem giúp em đoạn code này có được không?
  1.         Dim da As SqlDataAdapter
  2.         Dim sql As String = "select * from dbo.phieu"
  3.         Dim dt As New DataSet
  4.         Dim cb As SqlCommandBuilder
  5.         da = New SqlDataAdapter(sql, conn)
  6.         da.Fill(dt)
  7.         If dt.HasChanges = True Then
  8.             cb = New SqlCommandBuilder(da)
  9.             da.Update(dt)
  10.             dt.AcceptChanges()
  11.             MsgBox("Ðã luu r?i d?y")
  12.         End If
  13.         dt.Clear() : dt.Dispose() : da.Dispose() : conn.Close()

timxenet
Bài viết: 3
Ngày tham gia: CN 13/03/2011 8:30 pm

Re: VB.Net và Access Database

Gửi bàigửi bởi timxenet » CN 13/03/2011 8:42 pm

Mình có làm theo hướng dẫn của các bạn để thêm, sửa, xóa dữ liệu nhưng mình làm xong thì thấy trong file access không hề có thay đổi! mà lúc chạy thì cũng không thấy báo lỗi! bạn nào kiểm tra giúp mình xem bị lỗi gì với
  1. Imports System.Data
  2. Imports System.Data.OleDb
  3.  
  4. Public Class frmtrinhdo
  5.     Dim con As OleDbConnection
  6.     Dim dt As New DataTable
  7.     Private Sub frmtrinhdo_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  8.         Dim str As String = "Provider= Microsoft.Jet.OLEDB.4.0;" _
  9.                         & "Data Source = " & Application.StartupPath & "\quanlynhankhau.mdb;"
  10.         con = New OleDbConnection(str)
  11.         con.Open()
  12.  
  13.         Dim da As New OleDbDataAdapter("Select * From trinhdo", con)
  14.         da.Fill(dt)
  15.         DataGridView1.DataSource = dt
  16.         txtmatd.DataBindings.Add("Text", dt, "matd")
  17.         txtttd.DataBindings.Add("Text", dt, "tentrinhdo")
  18.        
  19.     End Sub
  20.  
  21.     Private Sub cmdthoat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdthoat.Click
  22.         Me.Close()
  23.     End Sub
  24.  
  25.     Private Sub cmdthem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdthem.Click
  26.         Dim adapter As New OleDbDataAdapter
  27.         Dim dt As New DataTable
  28.         Dim cb As OleDbCommandBuilder
  29.         Dim da As New OleDbDataAdapter("select * from trinhdo", con)
  30.         da.Fill(dt)
  31.         Dim row As DataRow = dt.NewRow
  32.         row("matd") = txtmatd.Text
  33.         row("tentrinhdo") = txtttd.Text
  34.         dt.Rows.Add(row)
  35.         cb = New OleDbCommandBuilder(da)
  36.         da.Update(dt)
  37.         dt.AcceptChanges()
  38.         da.Dispose()
  39.         cb.Dispose()
  40.         nguon()
  41.         con.Close()
  42.         Me.DataGridView1.MultiSelect = False
  43.         Me.DataGridView1.Item(0, Me.DataGridView1.RowCount - 2).Selected = True
  44.         DataGridView1.MultiSelect = True
  45.         Me.txtmatd.Focus()
  46.         Me.txtttd.SelectAll()
  47.     End Sub
  48.     Sub nguon()
  49.         Dim dt As New DataTable
  50.         Dim da As New OleDbDataAdapter("select * from trinhdo", con)
  51.         da.Fill(dt)
  52.         DataGridView1.DataSource = dt
  53.         txtmatd.DataBindings.Clear()
  54.         txtmatd.DataBindings.Add("Text", dt, "matd")
  55.         txtttd.DataBindings.Clear()
  56.         txtttd.DataBindings.Add("Text", dt, "tentrinhdo")
  57.     End Sub
  58.  
  59.     Private Sub cmdsua_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsua.Click
  60.         Dim adapter As New OleDbDataAdapter
  61.         Dim dt As New DataTable
  62.         Dim cb As OleDbCommandBuilder
  63.         Dim matd As String
  64.         matd = txtmatd.Text.ToString()
  65.         Dim da As New OleDbDataAdapter("select * from trinhdo ", con)
  66.         da.Fill(dt)
  67.         Dim row As DataRow = dt.Select("matd = '" & (txtmatd.Text) & "'")(0)
  68.         row.BeginEdit()
  69.         row("tentrinhdo") = txtttd.Text
  70.         row.EndEdit()
  71.         cb = New OleDbCommandBuilder(da)
  72.         da.Update(dt)
  73.         dt.AcceptChanges()
  74.         da.Dispose()
  75.         cb.Dispose()
  76.         Dim macc As String = Me.txtmatd.Text
  77.         nguon()
  78.         con.Close()
  79.         For i As Integer = 0 To Me.DataGridView1.RowCount - 2
  80.             If Me.DataGridView1.Item(0, i).Value = macc Then
  81.                 Me.DataGridView1.MultiSelect = False
  82.                 Me.DataGridView1.Item(0, i).Selected = True
  83.                 DataGridView1.MultiSelect = True
  84.                 Exit For
  85.             End If
  86.         Next
  87.  
  88.     End Sub
  89.  
  90.     Private Sub cmdxoa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdxoa.Click
  91.         Dim adapter As New OleDbDataAdapter
  92.         Dim dt As New DataTable
  93.         Dim cb As OleDbCommandBuilder
  94.         Dim da As New OleDbDataAdapter("select * from trinhdo", con)
  95.         da.Fill(dt)
  96.         Dim row As DataRow = dt.Select("matd = '" & (txtmatd.Text) & "'")(0)
  97.         row.BeginEdit()
  98.         row.Delete()
  99.         row.EndEdit()
  100.         cb = New OleDbCommandBuilder(da)
  101.         da.Update(dt)
  102.         dt.AcceptChanges()
  103.         da.Dispose()
  104.         cb.Dispose()
  105.         nguon()
  106.         con.Close()
  107.  
  108.     End Sub
  109. End Class

File bài tập của mình các bạn kiểm tra gấp hộ mình nhé!
http://www.mediafire.com/?nzyrbif4g8xk3oi

Hình đại diện của người dùng
vuathongtin
Điều hành viên
Điều hành viên
Bài viết: 1028
Ngày tham gia: CN 02/05/2010 10:03 pm
Đến từ: Xứ sở DG
Has thanked: 2 time
Been thanked: 105 time
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi vuathongtin » CN 13/03/2011 9:49 pm

Đã test, chạy ổn. Nguyên nhân bị thấy lỗi là do bạn nhầm thư mục Debug,

vị trí như hình vẽ
vd.jpg
Bùi Thành Nhân
CNTT-Sở Thông tin & Truyền thông tỉnh Phú Yên
giasulaptrinh.com
Skype:vuathongtin


Quay về “[.NET] Bài viết hướng dẫn”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách