Hi,
ich habe folgendes Problem:
Ich progrrammiere gerade einen Client für ein kleines Text-RPG mit MySQL-Datenbank.
Da ich nach einem Kampf aktualisiert haben möchte wie der letzte Kampf verlaufen ist, rufe ich die Prozedur, die auch schon beim starten der Applikation aufgerufen wird nochmal auf, um die Daten zu aktualliesieren. Dieses funktioniert aber nicht.
Hier die Prozedur:
Public Sub ergebnis()
'SQL-Befehl zum sammeln der Informationen
adapter.SelectCommand = New MySqlCommand("Select * from ergebnisse" & _
"where Herausforderer = '" & aktiverbenutzer & "' OR" & _
"Herausgeforderter = '" & aktiverbenutzer & "' Order by Datum DESC", _
MySQL)
'schreiben der Informationen in dataset
adapter.Fill(dataset, "Ergebnis")
'Wenn try fehlschlägt hat noch kein Kampf stattgefunden
Try
'gucken ob der Benutzer in Spatle 1 oder 2 steht und
' dementsprechend handeln
If Not dataset.Tables("Ergebnis").Rows(0).Item(0) = aktiverbenutzer _
Then
Gegner.text = dataset.Tables("Ergebnis").Rows(0).Item(0)
'Ausgabe der Gesundheit
Select Case dataset.Tables("Ergebnis").Rows(0).Item(3)
Case Is < 0
gesundheita.text = "Gegner ist bewusstlos"
Case Is < 10
gesundheita.text = "Gegner ist schwer verwundet"
Case Is < 20
gesundheita.text = "Gegner ist verwundet"
Case Is < 50
gesundheita.text = "Gegner ist gesundheitlich" & _
"angeschlagen"
Case Is < 100
gesundheita.text = "Gegner ist gesund"
End Select
Select Case dataset.Tables("Ergebnis").Rows(0).Item(4)
Case Is < 0
gesundheitb.text = "Sie sind bewusstlos"
Case Is < 10
gesundheitb.text = "Sie sind schwer verwundet"
Case Is < 20
gesundheitb.text = "Sie sind verwundet"
Case Is < 50
gesundheitb.text = "Sie sind gesundheitlich" & _
"angeschlagen"
Case Is < 100
gesundheitb.text = "Sie sind gesund"
End Select
'falls Benutzer in der zweiten Spalte steht, gleich Prozedur
' wie oben nur andersrum
Else
Gegner.text = dataset.Tables("Ergebnis").Rows(0).Item(1)
Select Case dataset.Tables("Ergebnis").Rows(0).Item(4)
Case Is < 0
gesundheita.text = "Gegner ist bewusstlos"
Case Is < 10
gesundheita.text = "Gegner ist schwer verwundet"
Case Is < 20
gesundheita.text = "Gegner ist verwundet"
Case Is < 50
gesundheita.text = "Gegner ist gesundheitlich" & _
"angeschlagen"
Case Is < 100
gesundheita.text = "Gegner ist gesund"
End Select
Select Case dataset.Tables("Ergebnis").Rows(0).Item(3)
Case Is < 0
gesundheitb.text = "Sie sind bewusstlos"
Case Is < 10
gesundheitb.text = "Sie sind schwer verwundet"
Case Is < 20
gesundheitb.text = "Sie sind verwundet"
Case Is < 50
gesundheitb.text = "Sie sind gesundheitlich" & _
"angeschlagen"
Case Is < 100
gesundheitb.text = "Sie sind gesund"
End Select
End If
If dataset.Tables("Ergebnis").Rows(0).Item(2) = 1 Then
Sieger.text = dataset.Tables("Ergebnis").Rows(0).Item(0)
Else
Sieger.text = dataset.Tables("Ergebnis").Rows(0).Item(1)
End If
Catch
Gegner.text = "Sie haben noch nicht gekämpft."
gesundheita.text = "Sie haben noch nicht gekämpft."
gesundheitb.text = "Sie haben noch nicht gekämpft."
Sieger.text = "Sie haben noch nicht gekämpft."
End Try
End Sub Hier der Teil, an dem ich die Prozedur aufrufe:
command = New MySqlCommand("Insert into ergebnisse(" & _
"Herausforderer,Herausgeforderter,Ergebnis,Gesundheita,Gesundheitb,Datum)" & _
"Values ('" & feind & "','" & aktiverbenutzer & "','" & Gewinner & "','" _
& a & "','" & b & "','" & Heute & "')", MySQL)
command.ExecuteNonQuery()
ergebnis() |