Hi Leute,
ja ich weiß schon wieder ich. Nachdem ich zuletzt einige Fortschrite mit meinem Programm gemacht habe, bin ich nun wieder an einer STelle wo ich nicht genau weiß wie es weitergehen soll.
In der markierten Zeile meldet der Kompiler einen Fehler, nämlilch man könnte auf kein Feld des Reader zugreifen die Read Funktion des Reader aufgerufen wurde. Dies versteh ich nun nicht, da ich ja reader.Read() ausführe. Weiß jemand, was ich falsch mache?
Rene42
ja ich weiß schon wieder ich. Nachdem ich zuletzt einige Fortschrite mit meinem Programm gemacht habe, bin ich nun wieder an einer STelle wo ich nicht genau weiß wie es weitergehen soll.
Code:
Dim con As New MySql.Data.MySqlClient.MySqlConnection
Dim cmd As New MySql.Data.MySqlClient.MySqlCommand
Dim reader As MySql.Data.MySqlClient.MySqlDataReader
con.ConnectionString = "Data Source=localhost;" _
& "Initial Catalog=Doppelkopf;UID=root;password=Re2209ne"
cmd.Connection = con
con.Open()
'Alle Betroffenen CoBoS und Rabus auflisten auflisten
Dim CoBo() As ComboBox = {Me.CoBo01, Me.CoBo02, Me.CoBo03, Me.CoBo04, Me.CoBo05}
Dim RaBu() As RadioButton = {Me.RaBuRe01, Me.RabuRe02, Me.RaBuRe03, Me.RaBuRe04, Me.RaBuRe05}
'Nun in einer Schleife jeden Spieler durchgehen
Dim n As Integer = 0
Do
'Den Geber bei 5 Spielern überspringen
If Me.TSMFivePlayer.Checked And n = Geber Then n = n + 1
'Hat der Spieler gewonnen?
Dim Win As Boolean = False
If RaBu(n).Checked And Me.RaBuSiegRe.Checked Then Win = True
If RaBu(n).Checked = False And Me.RaBuSiegContra.Checked Then Win = True
'Die alten Daten in den Reader laden
cmd.CommandText = "SELECT * FROM Spieler WHERE name='" & CoBo(n).SelectedItem & "'"
reader = cmd.ExecuteReader()
reader.Read()
'Nun die Punkte festelgen +bei Sieg -bei Verlust
Dim P As Integer
If Win Then
P = reader("Punkte") + Pkt
Else
----> P = reader("Punkte") - Pkt
End If
Dim Spiele As Integer = reader("Spiele") + 1
Dim Siege As Integer = reader("Siege")
'Siege erhöhen, falls Gewinn
If Win Then Siege = Siege + 1
'Reader vernichten
reader.Close()
'Nun die Punkte und Spiele updaten
cmd.CommandText = "UPDATE Spieler SET Punkte='" & P & "', Spiele='" & Spiele & "', Siege='" & Siege & "'"
cmd.ExecuteNonQuery()
n = n + 1
Loop Until n = CoBo.Length
con.Close()
In der markierten Zeile meldet der Kompiler einen Fehler, nämlilch man könnte auf kein Feld des Reader zugreifen die Read Funktion des Reader aufgerufen wurde. Dies versteh ich nun nicht, da ich ja reader.Read() ausführe. Weiß jemand, was ich falsch mache?
Rene42
Zuletzt bearbeitet: