2013-02-20 2 views
0

오라클 데이터베이스에 연결된 VB.Net의 로그인 양식. 다른 사용자를 다른 양식으로 안내하기 위해 If 문을 삽입하는 방법이 있습니다. 예를 들어, 회계 홈페이지의 회계사 페이지 또는 드라이버의 드라이버 홈페이지에 ID와 암호가 데이터베이스 내의 하나의 테이블에 있어도 마찬가지입니다. 데이터베이스 내에 POSITION 필드가 있으며 이는 다른 사용자 수준의 액세스를 구별하기 위해 사용하려는 것입니다. 그런 다음VB.NET 로그인 양식 - 오라클 사용

cmd = New OleDbCommand("select POSITION, STAFFID,PASSWORD from STAFF where STAFFID ='" & txtStaffNo.Text & "' and PASSWORD ='" & txtPassword.Text & "'", conn) 

당신이 사용자를 확인 후, 당신은 단지 같은 선택 케이스를 사용 : 그것은 될 수 있도록이 위치를 추가하여 SELECT 문에서

Dim conn As New OleDb.OleDbConnection 

conn.ConnectionString = _ 
"Provider=msdaora;Data Source=orabis;User Id=112221800;Password=112221800;" 


conn.Open() 

Dim parmuser As New OleDb.OleDbParameter 

parmuser.OleDbType = OleDb.OleDbType.Char 

parmuser.Value = txtStaffNo.Text 

Dim parmpass As New OleDb.OleDbParameter 

parmpass.OleDbType = OleDb.OleDbType.Char 

parmpass.Value = txtPassword.Text 



Dim cmd As New OleDbCommand 

cmd.Connection = conn 

cmd = New OleDbCommand("select STAFFID,PASSWORD from STAFF where STAFFID ='" & txtStaffNo.Text & "' and PASSWORD ='" & txtPassword.Text & "'", conn) 

cmd.CommandType = CommandType.Text 

Dim dr As OleDb.OleDbDataReader 



dr = cmd.ExecuteReader() 


If txtStaffNo.Text = "" Or txtPassword.Text = "" Then 

    MessageBox.Show("You have not entered any values!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error) 

ElseIf dr.Read() Then 

    txtStaffNo.Text = dr("STAFFID") 

    txtPassword.Text = dr("PASSWORD") 

    MsgBox("Access Allowed") 



    CustOption.Show() 
    Me.Hide() 

Else 

    'MessageBox.Show("Wrong Username and Password", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) 
    'intCount = intCount + 1 



End If 
+1

당신은 안 : (1) 사용자의 입력을 연결하여 쿼리를 구성, 결코, 특히 로그인 테스트에 ([SQL 주입 (http://en.wikipedia.org/wiki/SQL_injection)) 및 (2) [비밀번호 저장 일반 텍스트] (http://stackoverflow.com/questions/270485/password-management-best-practices-soup-to-nuts-not-just-storage-or-generation) –

답변

0

: 여기에 지금까지 작업 코드 :

Dim empPosition as string = dr("POSITION") ' assuming it's a string here 
select case empPosition.toLower 
    case "driver" 
     ' open driver form 
    case "accountant" 
     'open accountant form 
    ' more case statements for other positions. 
End Select