• 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#

Moderators: tungcan5diop, QUANITGROBEST

phong25_2
Posts: 2
Joined: Mon 02/03/2009 12:41 pm

Re: VB.Net và Access Database

Postby phong25_2 » Tue 03/03/2009 12:39 pm

trong file access của em đã có trường mssv rồi. em copy đoạn code của anh tuyên để thử nhưng ko dc. ko biết lỗi "cannot find column" phải sửa như thế nào. có ai giúp e với.



tuananhbiaqn
Posts: 1
Joined: Sat 28/03/2009 1:11 pm

Re: VB.Net và Access Database

Postby tuananhbiaqn » Sat 28/03/2009 3:00 pm

Tôi cũng giống như bạn, đang bí ở chỗ "cannot find column" này. Mà sao không có ai trả lời giúp với nhỉ!

User avatar
tungcan5diop
Cựu chiến binh
Cựu chiến binh
Posts: 1123
Joined: Wed 24/09/2008 4:04 pm
Location: TPHCM
Has thanked: 1 time
Been thanked: 28 times

Re: VB.Net và Access Database

Postby tungcan5diop » Sat 28/03/2009 3:15 pm

tuananhbiaqn wrote:Tôi cũng giống như bạn, đang bí ở chỗ "cannot find column" này. Mà sao không có ai trả lời giúp với nhỉ!

lỗi đó có nghĩa là cái cột đó không có trong Table của bạn...bạn xem lại coi sao,chắc là do khi Copy qua,bạn ko để ý đến tên của cái cột trong Table dưới Database :D
Hỡi thế gian bug(lỗi) là gì?
Mà sửa...hoài không hết!

User avatar
tiger86love102
Thành viên danh dự
Thành viên danh dự
Posts: 610
Joined: Sun 19/10/2008 1:10 am
Location: http://ready.vn
Has thanked: 4 times
Been thanked: 21 times
Contact:

Re: VB.Net và Access Database

Postby tiger86love102 » Sat 28/03/2009 4:00 pm

Bạn cop đoạn code nào, bạn post lên code của bạn, sai đâu mọi người mới biết đc bạn ạ.
Đội bóng Ready
facebook.com/tiger86love102

shadownobot

Re: VB.Net và Access Database

Postby shadownobot » Tue 05/05/2009 10:24 am

em là dân mới, thấy bài viết của anh Tuyên hay quá, em cũng nhảy vô cho vui.
em làm theo cách kết nối và đổ dữ liệu kiểu anh cũng thấy dễ dàng.
Nhưng em có thắc mắc là ở comboBox,
Ví dụ em có 2 bảng, bảng SinhVien và bảng Lop
em muốn comboBox cboLop lấy giá trị của SinhVien.MaVN, nhưng nó hiển thị danh sách Lop.TenLop và vẫn đồng bộ với dữ liệu.
Anh giúp em cái này nhe.
Còn em có cách làm khác, làm được cái em nói, nhưng mà cái này khó xử lý dữ liệu quá.

Code: Select all

  1. Dim dsDuLieu As New DataSet
  2. Dim daSinhVien As OleDbDataAdapter
  3. Dim daLop As OleDbDataAdapter
  4. Dim bmSinhVien As BindingManagerBase
  5.  
  6. Private Sub frmSinhVien_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  7.  
  8.         Dim str As String
  9.         str= "provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath & "\QLSinhVien.MDB"
  10.         Dim con As New OleDbConnection(str)
  11.         con.Open()
  12.  
  13.         daSinhVien = New OleDbDataAdapter("select * from SinhVien", con)
  14.         daSinhVien.Fill(dsDuLieu, "SinhVien")
  15.         daLop = New OleDbDataAdapter("select * from Lop", con)
  16.         daLop.Fill(dsDuLieu, "Lop")
  17.  
  18.         bmSinhVien = Me.BindingContext(dsDuLieu, "SinhVien")
  19.  
  20.         DataGridView1.DataSource = dsDuLieu
  21.         DataGridView1.DataMember = "SinhVien"
  22.  
  23.         txtMaSV.DataBindings.Add("text", dsQLSinhVien, "SinhVien.MaSV")
  24.         txtTen.DataBindings.Add("text", dsQLSinhVien, "SinhVien.Ten")
  25.        
  26.         With cboLop
  27.             .DataSource = dsDuLieu
  28.             .ValueMember = "SinhVien.MaLop"
  29.             .DisplayMember = "Lop.TenLop"
  30.             .DataBindings.Add("selectedvalue", dsDuLieu, "SinhVien.MaLop")
  31.         End With    
  32. End Sub




Cái này thì các nút di chuyển cũng dễ dàng, dữ liệu cũng đồng bộ, nhưng việc thêm xóa sửa kho quá
Last edited by tungcan5diop on Sat 30/05/2009 11:47 pm, edited 1 time in total.
Reason: chú ý đưa code vào trong thẻ,lần này sửa dùm bạn

quang010692
Posts: 4
Joined: Thu 05/02/2009 8:44 pm

Re: VB.Net và Access Database

Postby quang010692 » Sat 30/05/2009 11:33 pm

tungcan5diop wrote:
phong25_2 wrote:em tạo 1 file mdb và thử update nhưng ko được. nó báo lỗi là " cannot find column [mssv] "
Dim row As DataRow = dt.Select("mssv = " & mssv.Text)(1)
please help me

Code: Select all

  1. --bạn xem lại trong CSDL của bạn đã có trường [mssv] chưa
  2.  Dim row As DataRow = dt.Select("mssv  = " & mssv.Text)(1)---->viết sai rồi
  3. Dim row As DataRow = dt.Select("mssv='"+  mssv.Text +"'")-->viết lại nè


ecec
row() hoặc phải có (1), với lại phần tử đầu tiên là 0, ko phải 1, coi chừng báo lỗi.

willclinton
Posts: 1
Joined: Tue 16/06/2009 11:25 am

Re: VB.Net và Access Database

Postby willclinton » Tue 16/06/2009 11:34 am

Mình chỉ vô tình đọc sơ thấy hay nhảy vô làm thử. Nhưng còn gặp một số lỗi như mấy bạn kia đã gặp là cái phần Update mình thì nên hem bik như thế nào đành post bài viết lên để xin chỉ giáo. ^^. Mình làm wai` mà chẳng đc mình chuyển wa làm phần tìm kiếm theo dạng select trên nhưng select vẫn đc nhưng chuyển wa cáe khác thi báo lỗi trùng makh do gán databinding hic hic hem bik sữa lun....

Code: Select all

  1. Imports System.Data
  2. Imports System.Data.OleDb
  3.  
  4. Public Class Form1
  5.     Dim con As OleDbConnection
  6.     Dim dt As New DataTable("KHACHHANG")
  7.     Dim da As New OleDbDataAdapter()
  8.     Dim tam As Integer
  9.  
  10.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  11.         'Dim str As String = [color=#FF0000]"Provider= Microsoft.Jet.OLEDB.4.0;" _
  12.         '                        & "Data Source = " & Application.StartupPath & "\banhang.mdb;"
  13.         'con = New OleDbConnection(str)
  14.         'con.Open()
  15.         'Dim command As New OleDbCommand()
  16.         'command.Connection = con ' Kết nối
  17.         'command.CommandType = CommandType.Text  'loại lệnh sử dụng là Text hay là một query trong access
  18.         'command.CommandText = "Select * From KHACHHANG"
  19.         'da.SelectCommand = command ' gán command cho da
  20.         'da.Fill(dt)  'Nạp dữ liệu vào Table
  21.         'DataGridView1.DataSource = dt[/color]
  22.         Dim mang() As String = {"Mã Khách Hàng", "Tên Khách Hàng", "Tên Hàng", "Nick YaHoo", "Số Điện Thoại"}
  23.         KhoiDongCombo(cbTracuu, mang)
  24.         'Hienthidulieukhachhang()
  25.  
  26.     End Sub
  27.     Public Sub Hienthidulieukhachhang()
  28.         txtmakh.DataBindings.Add("Text", dt, "makh") ' Ở đây ta cần binding textbox txtSTT với giá trị Text ở cột STT của Table
  29.         txttenkh.DataBindings.Add("Text", dt, "tenkh")
  30.         txtlanmua.DataBindings.Add("Text", dt, "lanmua")
  31.         txtnickyh.DataBindings.Add("Text", dt, "nickyh")
  32.         txttenhang.DataBindings.Add("Text", dt, "tenhang")
  33.         txtdongia.DataBindings.Add("Text", dt, "dongia")
  34.         txtdiachi.DataBindings.Add("Text", dt, "diachi")
  35.         txtsodt.DataBindings.Add("Text", dt, "sodt")
  36.         txtghichu.DataBindings.Add("Text", dt, "ghichu")
  37.     End Sub
  38.     Public Sub KhoiDongCombo(ByVal combo As ComboBox, ByVal mang() As String)
  39.         Dim i, n As Integer
  40.         n = mang.Length()
  41.         For i = 0 To n - 1
  42.             combo.Items.Add(mang(i).ToString)
  43.         Next
  44.     End Sub
  45.  
  46.  
  47.     Private Sub btnsearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsearch.Click
  48.         TracuuChinhXac()
  49.     End Sub
  50.  
  51.  
  52.     Private Sub cbTracuu_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbTracuu.SelectedIndexChanged
  53.         Select Case cbTracuu.SelectedIndex
  54.             Case 0
  55.                 txtmakh.Focus()
  56.             Case 1
  57.                 txttenkh.Focus()
  58.             Case 2
  59.                 txttenhang.Focus()
  60.             Case 3
  61.                 txtnickyh.Focus()
  62.             Case 4
  63.                 txtsodt.Focus()
  64.         End Select
  65.     End Sub
  66.     Public Sub TracuuChinhXac()
  67.         If (cbTracuu.Text = "") Then
  68.             MsgBox("Bạn phải chọn kiểu tra cứu")
  69.         End If
  70.         Select Case cbTracuu.SelectedIndex
  71.             Case 0
  72.                 Dim str As String = "Provider= Microsoft.Jet.OLEDB.4.0;" _
  73.                                                         & "Data Source = " & Application.StartupPath & "\banhang.mdb;"
  74.                 con = New OleDbConnection(str)
  75.                 con.Open()
  76.                 Dim command As New OleDbCommand()
  77.                 command.Connection = con ' Kết nối
  78.                 'command.CommandType = CommandType.Text  'Loại lệnh sử dụng là Text hay là một query trong access
  79.                 command.CommandText = "Select * From KHACHHANG Where makh = @makh " 'Lệnh cần làm với Database"
  80.                 command.Parameters.Add("@makh", OleDbType.VarChar).Value = txtmakh.Text
  81.  
  82.                 da.SelectCommand = command ' gán command cho da
  83.                 da.Fill(dt)  'Nạp dữ liệu vào Table
  84.                 DataGridView1.DataSource = dt
  85.  
  86.                 Hienthidulieukhachhang()
  87.  
  88.             Case 1
  89.                 Dim str As String = "Provider= Microsoft.Jet.OLEDB.4.0;" _
  90.                                                                         & "Data Source = " & Application.StartupPath & "\banhang.mdb;"
  91.                 con = New OleDbConnection(str)
  92.                 con.Open()
  93.                 Dim command As New OleDbCommand()
  94.                 command.Connection = con ' Kết nối
  95.                 'command.CommandType = CommandType.Text  'Loại lệnh sử dụng là Text hay là một query trong access
  96.                 command.CommandText = "Select * From KHACHHANG Where tenkh = @tenkh " 'Lệnh cần làm với Database"
  97.                 command.Parameters.Add("@tenkh", OleDbType.VarChar).Value = txttenkh.Text
  98.  
  99.                 da.SelectCommand = command ' gán command cho da
  100.                 da.Fill(dt)  'Nạp dữ liệu vào Table
  101.                 DataGridView1.DataSource = dt
  102.  
  103.                 Hienthidulieukhachhang()
  104.  
  105.             Case 2
  106.                 Dim str As String = "Provider= Microsoft.Jet.OLEDB.4.0;" _
  107.                                                                                         & "Data Source = " & Application.StartupPath & "\banhang.mdb;"
  108.                 con = New OleDbConnection(str)
  109.                 con.Open()
  110.                 Dim command As New OleDbCommand()
  111.                 command.Connection = con ' Kết nối
  112.                 'command.CommandType = CommandType.Text  'Loại lệnh sử dụng là Text hay là một query trong access
  113.                 command.CommandText = "Select * From KHACHHANG Where tenhang = @tenhang " 'Lệnh cần làm với Database"
  114.                 command.Parameters.Add("@tenhang", OleDbType.VarChar).Value = txttenhang.Text
  115.  
  116.                 da.SelectCommand = command ' gán command cho da
  117.                 da.Fill(dt)  'Nạp dữ liệu vào Table
  118.                 DataGridView1.DataSource = dt
  119.  
  120.                 Hienthidulieukhachhang()
  121.  
  122.             Case 3
  123.                 Dim str As String = "Provider= Microsoft.Jet.OLEDB.4.0;" _
  124.                                                                                                         & "Data Source = " & Application.StartupPath & "\banhang.mdb;"
  125.                 con = New OleDbConnection(str)
  126.                 con.Open()
  127.                 Dim command As New OleDbCommand()
  128.                 command.Connection = con ' Kết nối
  129.                 'command.CommandType = CommandType.Text  'Loại lệnh sử dụng là Text hay là một query trong access
  130.                 command.CommandText = "Select * From KHACHHANG Where nickyh = @nickyh " 'Lệnh cần làm với Database"
  131.                 command.Parameters.Add("@nickyh", OleDbType.VarChar).Value = txtnickyh.Text
  132.  
  133.                 da.SelectCommand = command ' gán command cho da
  134.                 da.Fill(dt)  'Nạp dữ liệu vào Table
  135.                 DataGridView1.DataSource = dt
  136.  
  137.                 Hienthidulieukhachhang()
  138.  
  139.             Case 4
  140.                 Dim str As String = "Provider= Microsoft.Jet.OLEDB.4.0;" _
  141.                                                                                                                         & "Data Source = " & Application.StartupPath & "\banhang.mdb;"
  142.                 con = New OleDbConnection(str)
  143.                 con.Open()
  144.                 Dim command As New OleDbCommand()
  145.                 command.Connection = con ' Kết nối
  146.                 'command.CommandType = CommandType.Text  'Loại lệnh sử dụng là Text hay là một query trong access
  147.                 command.CommandText = "Select * From KHACHHANG Where sodt = @sodt " 'Lệnh cần làm với Database"
  148.                 command.Parameters.Add("@sodt", OleDbType.VarChar).Value = txtsodt.Text
  149.  
  150.                 da.SelectCommand = command ' gán command cho da
  151.                 da.Fill(dt)  'Nạp dữ liệu vào Table
  152.                 DataGridView1.DataSource = dt
  153.  
  154.                 Hienthidulieukhachhang()
  155.  
  156.         End Select
  157.     End Sub
  158. End Class 

ngocvinh
Guru
Guru
Posts: 701
Joined: Wed 23/04/2008 8:14 am
Location: Biên Hòa Đồng Nai
Been thanked: 113 times

Re: VB.Net và Access Database

Postby ngocvinh » Thu 02/07/2009 2:30 pm

txttenkh.DataBindings.clear()
txttenkh.DataBindings.Add("Text", dt, "tenkh")

Trong Vb.Net chỉ cho binding 1 lần phải clear() nó trước khi binding tiếp
.NET

babyit
Posts: 2
Joined: Tue 07/07/2009 8:18 am

Re: VB.Net và Access Database

Postby babyit » Tue 07/07/2009 9:06 am

Thanks các bạn nhìu nha, mình đang tìm hiểu cái này nhưg chưa quenlắm vì trước mình hok hoc qua vb6. mình đang viết code cho mấy cái nút lệnh trong vb.net 2008 nhưng chưa bít làm, nếu bạn nào có bài vdu cụ thể thì post cho mình xem với nhé. thanks nhiều. :)

gau bien
Thành viên chính thức
Thành viên chính thức
Posts: 39
Joined: Wed 02/04/2008 10:32 am

Re: VB.Net và Access Database

Postby gau bien » Fri 10/07/2009 4:39 pm

Tôi có một vấn đề về cập nhật dữ liệu trong việc thay Password mà chưa được. tôi làm bằng 2 cách dưới đây, nhưng đều bị báo lỗi. Tôi post lên đây để nhờ các bạn có kinh nghiệm kiểm tra dùm. Xin cảm ơn các bạn

Tôi có làm bằng 2 cách nhưng bị báo lỗi "Syntax error in UPDATE statement."


Code: Select all

  1.        '' cách 1 -----------------------------------
  2.         Dim _t As DataTable
  3.         Dim _DataAdapter As OleDb.OleDbDataAdapter
  4.         Dim SqlStr As String = "SELECT * FROM  UP"
  5.  
  6.         Dim conn As New OleDb.OleDbConnection(cn)
  7.         conn.Open()
  8.         '' Kết nối dữ liệu, điền dữ liệu
  9.  
  10.  
  11.         _DataAdapter = New OleDb.OleDbDataAdapter(SqlStr, cn)
  12.         Dim db As New OleDb.OleDbCommandBuilder(_DataAdapter)
  13.         _t = New DataTable
  14.         _DataAdapter.Fill(_t)
  15.  
  16.  
  17.         'frmForTest_DataGridView.DataGridView1.DataSource = _t
  18.         'frmForTest_DataGridView.Show()  ' OK
  19.  
  20.         MessageBox.Show("frmLogin.rowNumberPassW /NewPasswordStr :   " & frmLogin.rowNumberPassW.ToString & "/ " & NewPasswordStr)
  21.  
  22.         _t.Rows(frmLogin.rowNumberPassW)("Password") = NewPasswordStr
  23.  
  24.         frmForTest_DataGridView.DataGridView1.DataSource = _t
  25.         frmForTest_DataGridView.Show()   ' OK  đến dây
  26.  
  27.  
  28.  
  29.         Try
  30.             _DataAdapter.Update(_t) '?????????  ' cứ bị báo lỗi ở đây : "Syntax error in UPDATE statement."  
  31.            
  32.         Catch ex As Exception
  33.             'MessageBox.Show(Me, ex.Message)
  34.             MessageBox.Show(Me, "Lỗi: Thay mật khẩu không thành công, xin vui lòng thử lại.", "Thông báo ???")
  35.         End Try
  36.         '' cách 1 -----------------------------------/
  37.  


Code: Select all

  1.        ' '' cách 2 -----------------------------------
  2.         Dim dt As New DataTable
  3.         Dim da As New OleDb.OleDbDataAdapter
  4.         Dim SqlStr As String = "SELECT * FROM  UP"
  5.  
  6.         Dim conn As New OleDb.OleDbConnection(cn)
  7.         conn.Open()
  8.  
  9.         Dim command As New OleDbCommand()
  10.         command.Connection = conn
  11.         command.CommandType = CommandType.Text
  12.         command.CommandText = SqlStr '"Select * From login Where (Name ='" & txtname.Text & "') And (Pass ='" & txtoldpass.Text & "')"
  13.         da.SelectCommand = command
  14.         da.Fill(dt)
  15.  
  16.         ' Dim row As DataRow = dt.Select("Name = '" & txtname.Text & "'")(0)
  17.         Dim row As DataRow = dt.Select("Password = '" & txtOldPassword.Text & "'")(rowNumberPassW)
  18.         row.BeginEdit()
  19.         row("Password") = txtPassword2.Text
  20.         row.EndEdit()
  21.         Dim commandUpdate As New OleDbCommand()
  22.         commandUpdate.Connection = conn
  23.         commandUpdate.CommandType = CommandType.Text
  24.         commandUpdate.CommandText = "Update UP set Password=@Password Where UserName=@UserName"
  25.         commandUpdate.Parameters.Add("@Password", OleDbType.VarChar, 50, "Password")
  26.         commandUpdate.Parameters.Add("@UserName", OleDbType.VarChar, 50, "UserName")
  27.         da.UpdateCommand = commandUpdate
  28.  
  29.         da.Update(dt) '' ??? cũng  bị báo lỗi ở đây : "Syntax error in UPDATE statement."  
  30.  
  31.         'MessageBox.Show("Ban da hoan thanh viec thay doi mat khau cho tai khoan " & txtname.Text, "Hoan thanh", MessageBoxButtons.OK)
  32.         MessageBox.Show("Ban da hoan thanh viec thay doi mat khau cho tai khoan ")
  33.  
  34. ' '' cách 2 -----------------------------------//
  35.  
Attachments
ThayPassWord.rar
chuong trinh
(165.72 KiB) Downloaded 741 times

User avatar
hoangthu1974
Guru
Guru
Posts: 813
Joined: Thu 09/03/2006 9:30 am
Location: Hà Nội --> Tp. Hồ Chí Minh
Been thanked: 13 times
Contact:

Re: VB.Net và Access Database

Postby hoangthu1974 » Fri 10/07/2009 5:33 pm

Code: Select all

  1.        Dim strPwd, strUsrName As String
  2.         Dim str As String = "Update [UP] Set Password='" & strPwd
  3.         str &= "' Where UserName='" & strUsrName & "'"
  4.         Dim commandUpdate As New OleDbCommand(str, conn)
  5.         Try
  6.             commandUpdate.ExecuteNonQuery()
  7.         Catch ex As Exception
  8.             If ex.Message <> "" Then MsgBox(ex.Message)
  9.         Finally
  10.             commandUpdate.Dispose()
  11.         End Try

Thử cái này xem sao. Gán mật khẩu vào biến strPwd và tên người dùng vào strUsrName là xong.

gau bien
Thành viên chính thức
Thành viên chính thức
Posts: 39
Joined: Wed 02/04/2008 10:32 am

Re: VB.Net và Access Database

Postby gau bien » Sat 11/07/2009 9:12 am

Xin cảm ơn anh HoangThu. cách của anh rất ngắn gọn.
Tôi đã thử với chương trình của tôi như ở dưới đây, nhưng cũng bị báo lỗi cú pháp : "Syntax error in UPDATE statement."

Code: Select all

  1.        '' Mr Hoang Thu -------------------------------
  2.         Dim conn As New OleDb.OleDbConnection(cn)
  3.         conn.Open()
  4.  
  5.         'Dim strPwd, strUsrName As String
  6.         'Dim str As String = "Update [UP] Set Password = '" & NewPasswordStr & "' Where UserName='" & frmLogin.txtUsername.Text & "'"
  7.         Dim str As String = "Update [UP] Set Password = '" & NewPasswordStr & "' Where UserName = '" & frmLogin.txtUsername.Text & "'"
  8.         Dim commandUpdate As New OleDbCommand(str, conn)
  9.         Try
  10.             commandUpdate.ExecuteNonQuery()
  11.         Catch ex As Exception
  12.             If ex.Message <> "" Then MsgBox(ex.Message)
  13.         Finally
  14.             commandUpdate.Dispose()
  15.         End Try
  16.         '' Mr Hoang Thu -------------------------------/


chương trình tôi upload lên để nhờ các bạn kiểm tra dùm tôi. Tôi xin cảm ơn trước.
Attachments
ThayPassWord.rar
(176.91 KiB) Downloaded 709 times

User avatar
xuanquy_th
Guru
Guru
Posts: 803
Joined: Tue 05/08/2008 9:15 pm
Location: Thanh Hoá
Has thanked: 1 time
Been thanked: 10 times
Contact:

Re: VB.Net và Access Database

Postby xuanquy_th » Sat 11/07/2009 12:21 pm

Thay

Code: Select all

  1. Dim str As String = "Update [UP] Set Password = '" & NewPasswordStr & "' Where UserName = '" & frmLogin.txtUsername.Text & "'"

Bằng

Code: Select all

  1. Dim str As String = "Update [UP] Set [Password] = '" & NewPasswordStr & "' Where [UserName] = '" & frmLogin.txtUsername.Text & "'"

Là OK
Khi Chúa Trời đóng cánh cửa này lại, Ngài sẽ mở một cánh cửa khác cho ta.
Nhưng ta thường nhìn quá lâu vào cánh cửa đã đóng nên không thấy được có một cánh cửa khác đang mở ra cho ta!!!

gau bien
Thành viên chính thức
Thành viên chính thức
Posts: 39
Joined: Wed 02/04/2008 10:32 am

Re: VB.Net và Access Database

Postby gau bien » Sat 11/07/2009 12:34 pm

cảm ơn bạn xuân quý nhìu. tôi sửa như bạn hướng dẫn và đã làm được.

vuabuonlau
Posts: 2
Joined: Thu 10/07/2008 10:37 am

Re: VB.Net và Access Database

Postby vuabuonlau » Tue 11/08/2009 9:58 am

Mọi người cho mình hỏi, mình cần code login vào database access và kiểm tra user pass có trong database hay không thì phải làm sao ?

User avatar
anhtuyenbk
Guru
Guru
Posts: 1311
Joined: Thu 22/09/2005 4:12 pm
Location: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy
Been thanked: 38 times

Re: VB.Net và Access Database

Postby anhtuyenbk » Tue 11/08/2009 10:03 am

vuabuonlau wrote:Mọi người cho mình hỏi, mình cần code login vào database access và kiểm tra user pass có trong database hay không thì phải làm sao ?

1. Connect với database.
2. Viết câu sql select với điều kiện where user="username" and pass="pass", nếu số row trả về >0 tức là có, =0 nghĩa là ko có.
Kiếm cơm cho qua ngày tháng
https://www.facebook.com/pinduphongpisenchinhhang

vuabuonlau
Posts: 2
Joined: Thu 10/07/2008 10:37 am

Re: VB.Net và Access Database

Postby vuabuonlau » Tue 11/08/2009 10:11 am

1. Connect với database.
2. Viết câu sql select với điều kiện where user="username" and pass="pass", nếu số row trả về >0 tức là có, =0 nghĩa là ko có.


Cám ơn bạn nha, sẵn cho mình hỏi luôn, mình muốn check role của user đó thì thêm như thế nào

User avatar
anhtuyenbk
Guru
Guru
Posts: 1311
Joined: Thu 22/09/2005 4:12 pm
Location: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy
Been thanked: 38 times

Re: VB.Net và Access Database

Postby anhtuyenbk » Tue 11/08/2009 10:13 am

vuabuonlau wrote:Cám ơn bạn nha, sẵn cho mình hỏi luôn, mình muốn check role của user đó thì thêm như thế nào

Thì bạn select cái column chứa role của user đó ra chứ còn gì nữa, phải linh động 1chút chứ.
Kiếm cơm cho qua ngày tháng
https://www.facebook.com/pinduphongpisenchinhhang

tony86
Posts: 7
Joined: Sun 06/09/2009 12:33 pm

Re: VB.Net và Access Database

Postby tony86 » Sat 19/09/2009 11:50 am

Mình có vấn đề như sau, mong các PRO chỉ giáo cho :)
Mình dùng vb.net copy file Access từ server về máy đang sử dụng, sau đó mới kết nối và xử lý trên file Access này để k làm ảnh hưởng đến dữ liệu chung B-)

' --- Hiển thị quá trình xử lý thông tin --- INFO - INFO
frmMain.pgbMain.Value = 10
frmMain.sttMain.Text = "(1/5)Chuẩn bị cập nhật dữ liệu..."
frmMain.StatusStrip.Refresh()
Threading.Thread.Sleep(100)

' --- Thay đổi con trỏ chuột ---
Cursor.Current = Cursors.WaitCursor
btnRun.Enabled = False


' --- Hiển thị quá trình xử lý thông tin --- INFO - INFO
frmMain.pgbMain.Value = 15
frmMain.sttMain.Text = "(2/5)Đang tiến hành lưu dữ liệu hiện tại..."
frmMain.StatusStrip.Refresh()
Threading.Thread.Sleep(100)

Try
' --- Tạo thư mục lưu trữ nếu chưa có --- CREATE FOLDER
If Directory.Exists(Application.StartupPath & "\Data\BAK") = False Then
Directory.CreateDirectory(Application.StartupPath & "\Data\BAK")
End If
Catch ex As Exception
MessageBox.Show("Không hiệu chỉnh được thư mục lưu trữ!" & vbNewLine & ex.ToString)
End Try

Try
' --- Kiểm tra và xóa danh mục lưu --- DELETE FILE
If File.Exists(Application.StartupPath & "\Data\BAK\DbBak.mdb") = True Then
File.Delete(Application.StartupPath & "\Data\BAK\DbBak")
End If
Catch ex As Exception
MessageBox.Show("Không thể xóa dữ liệu cũ!" & vbNewLine & ex.ToString)
End Try

Try
' --- Lưu lại danh mục --- COPY FILE -
File.Copy(Application.StartupPath & "\Data\DatabaseLocal.mdb", Application.StartupPath & "\Data\Bak\DbBak.mdb", True)
Catch ex As Exception
MessageBox.Show("Không thể sao lưu dữ liệu hiện tại!" & vbNewLine & ex.ToString)
End Try

' --- Hiển thị quá trình xử lý thông tin --- INFO - INFO
frmMain.pgbMain.Value = 20
frmMain.sttMain.Text = "(3/5)Đang tải dữ liệu từ server đơn vị về..."
frmMain.StatusStrip.Refresh()
Threading.Thread.Sleep(100)

' --- Kiểm tra xem có tìm thấy danh mục không --- CHECK FILE -
If File.Exists("Z:\Dm.mdb") = False Then
MessageBox.Show("Không tìm thấy danh mục trên server! Vui lòng xem lại kết nối...")
Exit Sub
End If

Try
' --- Chép DM mới từ server về --- DOWNLOAD FILE - <<<<<<<<<<<
File.Copy("Z:\Dm.mdb", Application.StartupPath & "\Data\DatabaseLocal.mdb", True)
Catch ex As Exception
MessageBox.Show("Lỗi khi tải dữ liệu từ server về!" & vbNewLine & ex.ToString)
File.Copy(Application.StartupPath & "\Data\Bak\DbBak.mdb", Application.StartupPath & "\Data\DatabaseLocal.mdb", True)
Cursor.Current = Cursors.Arrow
Exit Sub
End Try


Vấn đề thứ nhất ở đây là file Access trên server có password mặc định, có code nào thay đổi bỏ password cũ và đổi lại password mới cho file Access được tải về không?
(không tính cách sau đây: tạo 1 file Access riêng (file B) rồi sau đó connect đến file Access kia (File A) để đổ dữ liệu vào file B) Vì password mặc định mọi người đều biết

Vấn đề thứ hai là có cách nào khóa file Access không cho người khác link table đến được không? :P

tony86
Posts: 7
Joined: Sun 06/09/2009 12:33 pm

Re: VB.Net và Access Database

Postby tony86 » Sat 19/09/2009 11:57 am

phong25_2 wrote:trong file access của em đã có trường mssv rồi. em copy đoạn code của anh tuyên để thử nhưng ko dc. ko biết lỗi "cannot find column" phải sửa như thế nào. có ai giúp e với.

bạn xem lại đi, coi chừng nhầm giữa cái Field_Name và Caption của nó


Return to “[.NET] Bài viết hướng dẫn”

Who is online

Users browsing this forum: No registered users and 1 guest