2017-03-24 12 views
0

割り当てとして銀行窓口フォームを作成しようとしています。MS Accessテーブルからデータを取得

以下のコードでユーザーをログインできます。

myConnection.ConnectionString = connString 
myConnection.Open() 

Dim cmd As OleDbCommand = New OleDbCommand("SELECT * FROM Account WHERE Customer_Id = (SELECT [ID] FROM Customer WHERE Cust_Name = '" & txtName.Text & "') AND PIN =" & Convert.ToInt32(txtPin.Text) & ";", myConnection) 
Dim dr As OleDbDataReader = cmd.ExecuteReader 

Dim userFound As Boolean = False 

While dr.Read 
    userFound = True 
    loggedInName = txtName.Text 
End While 

は今、私はちょうどにログインしたユーザのためにアカウントテーブルからバランス値を取得しようとしている方法はあります:それはMS Accessデータベースからの読み込みそれを行うために上記のコードを使用するには?そうでない場合、最良の方法は何ですか?

+1

私は私の銀行が自分のSQLクエリでパラメータを使用します願っています。 – N0Alias

+0

SQLパラメータを調べます。これはSQLインジェクションに開放されています。彼らは実装するのが難しくありません。 – Bugs

答えて

2

はあなたの価値を得るためのDataReaderのItem Propertyを使用します。

While dr.Read 
    userFound = True 
    loggedInName = txtName.Text 

    Dim dblBalance As Double = 0.0 

    'This shouldn't be a nullable field, but just in case: 
    If dr.Item("Balance") <> DBNull.Value Then 

     dblBalance = Convert.ToDouble(dr.Item("Balance")) 

    End If 
End While 
関連する問題