• 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

phong25_2
Bài viết: 2
Ngày tham gia: T.Hai 02/03/2009 12:41 pm

Re: VB.Net và Access Database

Gửi bàigửi bởi phong25_2 » T.Ba 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
Bài viết: 1
Ngày tham gia: T.Bảy 28/03/2009 1:11 pm

Re: VB.Net và Access Database

Gửi bàigửi bởi tuananhbiaqn » T.Bảy 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ỉ!

Hình đại diện của người dùng
tungcan5diop
Cựu chiến binh
Cựu chiến binh
Bài viết: 1123
Ngày tham gia: T.Tư 24/09/2008 4:04 pm
Đến từ: TPHCM
Has thanked: 1 time
Been thanked: 28 time

Re: VB.Net và Access Database

Gửi bàigửi bởi tungcan5diop » T.Bảy 28/03/2009 3:15 pm

tuananhbiaqn đã viết: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!

Hình đại diện của người dùng
tiger86love102
Thành viên danh dự
Thành viên danh dự
Bài viết: 610
Ngày tham gia: CN 19/10/2008 1:10 am
Đến từ: http://ready.vn
Has thanked: 4 time
Been thanked: 21 time
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi tiger86love102 » T.Bảy 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

Gửi bàigửi bởi shadownobot » T.Ba 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á.

Mã: Chọn hết

  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á
Sửa lần cuối bởi tungcan5diop vào ngày T.Bảy 30/05/2009 11:47 pm với 1 lần sửa.
Lý do: chú ý đưa code vào trong thẻ,lần này sửa dùm bạn

quang010692
Bài viết: 4
Ngày tham gia: T.Năm 05/02/2009 8:44 pm

Re: VB.Net và Access Database

Gửi bàigửi bởi quang010692 » T.Bảy 30/05/2009 11:33 pm

tungcan5diop đã viết:
phong25_2 đã viết: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

Mã: Chọn hết

  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
Bài viết: 1
Ngày tham gia: T.Ba 16/06/2009 11:25 am

Re: VB.Net và Access Database

Gửi bàigửi bởi willclinton » T.Ba 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....

Mã: Chọn hết

  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
Bài viết: 694
Ngày tham gia: T.Tư 23/04/2008 8:14 am
Đến từ: Biên Hòa Đồng Nai
Been thanked: 111 time

Re: VB.Net và Access Database

Gửi bàigửi bởi ngocvinh » T.Năm 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
Bài viết: 2
Ngày tham gia: T.Ba 07/07/2009 8:18 am

Re: VB.Net và Access Database

Gửi bàigửi bởi babyit » T.Ba 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
Bài viết: 39
Ngày tham gia: T.Tư 02/04/2008 10:32 am

Re: VB.Net và Access Database

Gửi bàigửi bởi gau bien » T.Sáu 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."


Mã: Chọn hết

  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.  


Mã: Chọn hết

  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.  
Tập tin đính kèm
ThayPassWord.rar
chuong trinh
(165.72 KiB) Đã tải 716 lần

Hình đại diện của người dùng
hoangthu1974
Guru
Guru
Bài viết: 813
Ngày tham gia: T.Năm 09/03/2006 9:30 am
Đến từ: Hà Nội --> Tp. Hồ Chí Minh
Been thanked: 13 time
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi hoangthu1974 » T.Sáu 10/07/2009 5:33 pm

Mã: Chọn hết

  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
Bài viết: 39
Ngày tham gia: T.Tư 02/04/2008 10:32 am

Re: VB.Net và Access Database

Gửi bàigửi bởi gau bien » T.Bảy 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."

Mã: Chọn hết

  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.
Tập tin đính kèm
ThayPassWord.rar
(176.91 KiB) Đã tải 686 lần

Hình đại diện của người dùng
xuanquy_th
Guru
Guru
Bài viết: 798
Ngày tham gia: T.Ba 05/08/2008 9:15 pm
Đến từ: Thanh Hoá
Has thanked: 1 time
Been thanked: 10 time
Liên hệ:

Re: VB.Net và Access Database

Gửi bàigửi bởi xuanquy_th » T.Bảy 11/07/2009 12:21 pm

Thay

Mã: Chọn hết

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

Bằng

Mã: Chọn hết

  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
Bài viết: 39
Ngày tham gia: T.Tư 02/04/2008 10:32 am

Re: VB.Net và Access Database

Gửi bàigửi bởi gau bien » T.Bảy 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
Bài viết: 2
Ngày tham gia: T.Năm 10/07/2008 10:37 am

Re: VB.Net và Access Database

Gửi bàigửi bởi vuabuonlau » T.Ba 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 ?

Hình đại diện của người dùng
anhtuyenbk
Guru
Guru
Bài viết: 1311
Ngày tham gia: T.Năm 22/09/2005 4:12 pm
Đến từ: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy
Been thanked: 38 time

Re: VB.Net và Access Database

Gửi bàigửi bởi anhtuyenbk » T.Ba 11/08/2009 10:03 am

vuabuonlau đã viết: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
Bài viết: 2
Ngày tham gia: T.Năm 10/07/2008 10:37 am

Re: VB.Net và Access Database

Gửi bàigửi bởi vuabuonlau » T.Ba 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

Hình đại diện của người dùng
anhtuyenbk
Guru
Guru
Bài viết: 1311
Ngày tham gia: T.Năm 22/09/2005 4:12 pm
Đến từ: Một nơi chừa từng biết, chưa từng nghe, chưa từng thấy
Been thanked: 38 time

Re: VB.Net và Access Database

Gửi bàigửi bởi anhtuyenbk » T.Ba 11/08/2009 10:13 am

vuabuonlau đã viết: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
Bài viết: 7
Ngày tham gia: CN 06/09/2009 12:33 pm

Re: VB.Net và Access Database

Gửi bàigửi bởi tony86 » T.Bảy 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
Bài viết: 7
Ngày tham gia: CN 06/09/2009 12:33 pm

Re: VB.Net và Access Database

Gửi bàigửi bởi tony86 » T.Bảy 19/09/2009 11:57 am

phong25_2 đã viết: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ó


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