2013-03-03 3 views
0

vb.net에서 프로젝트를 수행하고 있으며 액세스 2003을 백 엔드로 사용하고 있습니다. 나는 "uid"와 같은 사용자 ID를 갖는 특정 사용자의 암호 "pwd"를 얻는 방법을 원합니다. 우리가 시작하기 전에vb.net에서 sql 쿼리를 사용하여 액세스 데이터를 검색합니다.

사용자 ID 당신은 "사용자가"예약 된 단어는 사실을 기억하셔야합니다, 콤보 상자

+0

데이터베이스의 구조는 무엇인가? 너는 그것에 대해 아무 것도 말하지 않았다. 또한 데이터베이스가 해시 된 암호를 사용하는 경우 암호 복구가 불가능합니다. – Dai

+0

데이터베이스는 저만 만들었습니다. 비밀번호에는 아무 것도없고 간단한 텍스트 만 만들어졌습니다. 테이블 사용자는 필드 즉 uid, uname, gender, designation, pwd – Shri

답변

0

를 사용하여 얻을 수있다. 예약어로 테이블을 갈아서는 안됩니다. 그것은 모든 종류의 문제를 일으킨다. 그러나 대괄호를 사용하여이를 처리 할 수 ​​있습니다.

당신이 무엇을 물어 할 수있는 여러 가지 방법이 있습니다, 그러나 이것은 내가 보통을 처리하는 방법입니다.

먼저 데이터 연결이 필요합니다. 어떤 CPU 플랫폼을 사용하고 있는지 잘 모르겠다. 64 비트 프로세서라면 구성에 들어가서 액티브 솔루션 플랫폼을 "x86"으로 바꿔야 할 것이다.

둘째, 당신은 데이터를 보유하는 datset이 필요합니다. 데이터 세트의 데이터로 콤보 상자를 채 웁니다.

은 콤보 상자에서 "UID"을 선택 Aftr, 당신은 해당 사용자를 찾을 수있는 방법이 필요합니다. 데이터 뷰를 제안합니다.

이 샘플 프로그램

이 작업을 수행합니다. 나는 그것을 시도하고 그것이 효과가있다.

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 
관련 문제