Om jag kör en listning direkt i databasen (mysql) så får jag följande svar: Jag misstänker att ditt problem ligger här.isNullOrEmpty - Problem.
+------------+---------+-----------+
| kundnummer | fornamn | efternamn |
+------------+---------+-----------+
| 3210 | NULL | NULL |
+------------+---------+-----------+
Följande kod använder jag för att skriva ut sakerna:
Dim Sql As String = "SELECT kundnummer, fornamn, efternamn FROM kundregister order by kundnummer desc"
localSQL = New MySqlCommand(Sql, localCon)
localReader = localSQL.ExecuteReader()
While localReader.Read()
Dim strKundnummer As String = localReader.GetString(0).ToString()
Dim strFornamn As String = localReader.GetString(1).ToString()
Dim strEfternamn As String = localReader.GetString(2).ToString()
If Not String.IsNullOrEmpty(strKundnummer) Then
Console.WriteLine("Kundnummer: " & localReader.GetString(0)) 'Get the host
End If
If Not String.IsNullOrEmpty(strFornamn) Then
Console.WriteLine("Förnamn: " & localReader.GetString(1)) 'Get the username
End If
If Not String.IsNullOrEmpty(strEfternamn) Then
Console.WriteLine("Efternamn: " & localReader.GetString(2)) 'Get the password
End If
End While
Men när den kommer till en raden som är "null" på fornamn, så skiter sig programmet, och skriver ut:
<code>
Data är null. Det går inte att anropa den här metoden eller egenskapen med null-värden.
</code>
Vad gör jag fel?
Sv: isNullOrEmpty - Problem.
Dim strFornamn As String = localReader.GetString(1).ToString()
Du försöker göra en ToString() på ett NULL objekt och det går inte. Gör en kontroll här först om localReader.GetString(1) är NULL om inte så hämta data och sätt strFornamn till det värdet.
- M