Reputation: 21
The code below grabs data based on a provided username and password in VS 2008. When I Check the reader.FieldCount
it contains all of the fields it should contain. The issue I am having is at results.Add
, which is defined at the top of the file as Dim results As List(Of String)
. When the program reaches that line, a NullReferenceException is thrown, though I have no idea why.
The program is meant to run on an MC9190-G and works up to that point in the code on the device. I am not using an emulator. the code is deployed directly to the device for testing.
Public Function getUser(ByVal username As String, ByVal password As String)
Dim ecif As New EncryptionInfo
Dim ec As New Encryption(ecif.key, ecif.iv)
Dim pass_dec, temp As String
Dim i As Integer
connect()
query = "SELECT * FROM UserInfo WHERE Username = '" + username.ToString + "'"
comm = New SqlCommand(query, cn)
Dim reader As SqlDataReader = comm.ExecuteReader
If (reader.FieldCount <> 0) Then
i = 0
reader.Read()
While (i < reader.FieldCount)
If (i = 1) Then
pass_dec = reader.GetString(i)
results.Add = ec.Decrypt(pass_dec)
Continue While
i += 1
End If
temp = reader.Item(i).ToString
results.Add(temp)
i += 1
End While
reader.Close()
cn.Close()
comm.Dispose()
Return results
End If
MessageBox.Show("No results")
Return Nothing
End Function
Upvotes: -1
Views: 35
Reputation: 1309
You should use the keyword New
:
Dim results As New List(Of String)
Upvotes: 0