2017-10-13 12 views
0

Avec cette ligne de codeJe reçois rdr d'erreur n'est pas déclaré

using (rdr as mysqldatareader = cmd.executereader()) 

Je reçois une erreur disant rdr n'est pas déclarée. Quand je supprimer les crochets afin qu'il devienne

Using rdr As MySqlDataReader = cmd.ExecuteReader() 

Je reçois une erreur sur cette ligne tmpObj.No = rdr("No").ToString() dire non est pas membre du project.Form.Appdata et cette ligne tmpObj.Template = templa8 et le modèle est pas membre du projet .Form.AppData. Notez que j'ai déjà mis ceci: Private FPList As New List(Of AppData) au niveau de la classe, en tant que membre. Certainement je fais quelque chose de mal. Aucune suggestion?

'THIS NEEDS TO BE AT THE CLASS-LEVEL, AS A MEMBER 
'Private FPList As New List(Of AppData) 
    Public Class AppData 

    Public Sub Update() 
     RaiseEvent OnChange() 
    End Sub 
    Public Event OnChange() 
    Public FPList As New List(Of AppData) 
    Public IsEventHandlerSucceeds As Boolean = True 
    Public IsFeatureSetMatched As Boolean = False 
    Public FalseAcceptRate As Integer = 0 
    Public Sub Update() 
     RaiseEvent OnChange() 
    End Sub 
    Public Event OnChange() 
    Public FPList As New List(Of AppData) 
    End Class 



Private Sub Me_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _ 
    Handles MyBase.Load 
    Init() 
    StartCapture() 
    Dim sql As String = "SELECT * FROM new_case_file"  
    Using conn As New MySqlConnection("**** "), _ 
     cmd As New MySqlCommand(sql, conn) 

     conn.Open() 
     Using (rdr As MySqlDataReader = cmd.ExecuteReader()) 
      FPList.Clear() 
      While (rdr.Read()) 
       Dim tmpObj As New AppData 
       tmpObj.No = rdr("No").ToString() 

       Dim fpBytes As Byte() = rdr("FingerPrint") 
       Using MemStream As New IO.MemoryStream(fpBytes) 

        Dim templa8 As New DPFP.Template() 
        templa8.DeSerialize(MemStream) 
        tmpObj.Template = templa8 
       End Using 

       FPList.Add(tmpObj) 
      End While 
      rdr.Close() 
     End Using 
    End Using 
End Sub 
+0

Post le code pour 'AppData'. – Tim

+0

Le message d'erreur vous indique exactement ce que vous devez savoir. Vous essayez d'affecter une valeur à la propriété "Non" d'un objet de type "AppData", mais la classe "Appdata" n'a aucun membre appelé "Non". – DWRoelands

+0

Comment écrire le code pour corriger cela? J'ai essayé de résoudre ceci mais de connaître la disponibilité. –

Répondre

0

Vous corriger cette erreur en ajoutant ce qui suit à votre classe AppData

Private _No As String 
Public Property No As String 
    Get 
     Return _No 
    End Get 
    Set(value as String) 
     _No = value 
    End Set 
End Property 

Private _Template As DPFP.Template 
Public Property Template As DPFP.Template 
    Get 
     Return _Template 
    End Get 
    Set(value as DPFP.Template) 
     _Template = value 
    End Set 
End Property 

mais cela ne rendra pas nécessairement votre travail de code.