在vb.net中使用sql查询检索访问数据

时间:2013-03-03 11:04:38

标签: vb.net

我在vb.net上做一个项目,并使用Access 2003作为后端。我想要一些方法来获取用户ID为“uid”的某个特定用户的密码“pwd”。

使用ComboBox

获取用户ID

1 个答案:

答案 0 :(得分:0)

在开始之前,你必须意识到"用户"是一个保留字。你不应该用保留字鬃毛。它会导致各种各样的问题。但是,我们可以使用括号来处理它。

有许多方法可以做你所要求的,但这就是我通常处理它的方式。

首先,您需要一个数据连接。我不确定您使用的CPU平台,如果是64位处理器,您需要进行配置 - 并将Active Solution Platform更改为" x86"。

其次,您需要一个数据集来保存数据。使用数据集中的数据填充组合框。

选择" uid"从组合框中,您将需要一种方法来只找到该用户。我建议使用数据视图。

这是一个完成任务的示例程序。我试过了它确实有效。

Public Class Form1

Dim oleConn As New OleDb.OleDbConnection
Dim sql As String
Dim command As New OleDb.OleDbCommand
Dim oleAdapter As New OleDb.OleDbDataAdapter
Dim UserDataSet As New DataSet
Dim usid As String
Dim x As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    oleConn = New OleDb.OleDbConnection
    oleConn.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=<< DATBASE PATH>>"
    sql = "Select * From [User]"
    oleConn.Open()
    command = New OleDb.OleDbCommand(sql, oleConn)
    command.ExecuteNonQuery()
    oleAdapter = New OleDb.OleDbDataAdapter("Select * From [User]", oleConn)
    UserDataSet = New DataSet
    oleAdapter.Fill(UserDataSet)
    oleConn.Dispose()
    cmbUid.DataSource = UserDataSet.Tables(0)
    cmbUid.DisplayMember = "uid"
End Sub
Private Sub cmbUid_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbUid.SelectedValueChanged
    usid = cmbUid.Text
    FindPWD()
End Sub
Private Sub FindPWD()
    'Create a dataview
    Dim dv As New DataView
    'Associate the dataview to _oDs (Dataset table)
    dv.Table = UserDataSet.Tables(0)
    Dim drv As DataRowView 'Data Row View object to query DataView object
    'Filter based on a combo box value selected
    dv.RowFilter = "[uid] LIKE '" & usid & "'"
    'Retrieve my values returned in the result
    For Each drv In dv
        'clear  textbox first time thru
        If x = 0 Then
            x = 1
            txtPwd.Clear()
        Else
            txtPwd.Text = drv("pwd")
        End If
    Next

End Sub

End Class
相关问题