VB.NET und SQL Server 2014. Dieser Code produzieren einen seltsamen Fehler. HasRows
ist WAHR, aber die Auswahl ist leer, und die Auswahl sollte nicht leer sein, da viele Datensätze in der Tabelle die Bedingungen where
erfüllen.SqlDataReader und Select funktionieren nicht richtig
Wenn ich das select direkt in SQL Server auswählen, funktioniert alles einwandfrei. Die anno und nomediv Parameter sind korrekt.
try
connection1.Open()
sqlcmd = String.Format("select distinct HomeTeam from tutto WHERE anno='{0}' AND div= '{1}' AND HomeTeam <> 'NULL'", annocampionato, nomediv(i))
SetSqlCommand(sqlcmd, 1)
sqlreader1 = sqlcommand1.ExecuteReader()
Do While sqlreader1.Read()
If sqlreader1.HasRows Then '
nomesquadra = RTrim(sqlreader1.GetString(0))
......
End If
Loop
connection1.Close()
Catch ex As Exception
MsgBox(ex.Message)
connection1.Close()
End Try
versuchen zu erklären, besser: außer Reichweite Ausnahme tritt das Programm in die WHILE
Schleife und sqlreader1.hasrows
ist TRUE aber sqlreader1.GetString(0)
Return Index. Wenn ich den Befehl in SELECT * FROM tutto
ändere, ist das Ergebnis dasselbe.
Vielen Dank im Voraus
Pamela
P. S. Ich werde vermeiden, die Zeichenfolge concat für die Release-Version
Bitte posten ** alle ** Ihres Codes. – Dai
Es ist nicht sinnvoll, "If sqlreader1.HasRows Then" innerhalb der While-Schleife zu haben ... die while-Schleife würde niemals eingegeben werden, wenn Sie keine Ergebnisse hätten. – GendoIkari
Verwenden Sie auch parametrisierte Abfragen, NOT-String-Concartentation oder String-Formatierung. – Dai