0

Oracle データベースに接続するためのログイン フォームでVB.Net.If ステートメントを挿入して、さまざまなユーザーをさまざまなフォームに誘導する方法はありますか..たとえば、会計士は会計ホームページに、ドライバーはドライバー ホームページに移動します。 ID とパスワードは、データベース内の 1 つのテーブルにあります。データベース内にフィールドがありPOSITION、これを使用してさまざまなユーザーのアクセス レベルを区別したいと考えています。これまでのコードは次のとおりです。

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
4

1 に答える 1

0

SELECT ステートメントで、次のように位置を追加します。

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

次に、ユーザーを検証した後、次のような選択ケースを使用します。

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
于 2013-02-21T03:48:09.053 に答える