Hallo Sascha,
- Der erste Fehler war nicht das Aufaddieren der Variablen, sondern der Zugriff auf ein leeres RecordSet-Objekt.
- Bei Verwendung von Integern ist eine Umschließung der Varibalen mit Hochkommata (') Unsinn. Das gilt für Strings.
ok
- Da dein RecordSet leer ist (und wir das ja abfangen) wird deine Variable Voting_gut_neu gar nicht gesetzt, existiert also gar nicht.
Also wird an die DB folgendes übergeben:
UPDATE Voting SET Voting_gut= WHERE Download='Lena'
soweit mir auch klar
Das erklärt die Fehlermeldung. Es wird ein Parameter erwartet und nicht übermittelt.
Also: den oberen Block erweitern
<%
if NOT RS3.BOF AND NOT RS3.EOF Then
if isNumeric(RS3("Voting_gut")) Then Voting_gut_neu = CInt(RS3("Voting_gut")) + 1
else
Voting_gut_neu = 0 ' oder irgendein Startwert
end if
%>
hmmm....
Du kannst auch vorher Voting_gut_neu = 0 setzen. Falls RS3 nicht leer ist aber auch nicht numerisch ist Voting_gut_neu auf jeden Fall mit 0 deklariert.
RS3 ist nicht leer ("123") in der DB ist genug numerischer Wert; selbst das was geschrieben werden soll ist ja numerisch.
Ansonsten kannst du folgendes ausprobieren:
gib den strSQL einfach mal mit Response.Write aus (ohne in auszuführen). Dann siehst du, was an die DB geschickt wird.
Oder schreib den sql-String mal händisch:
UPDATE Voting SET Voting_gut=1 WHERE Download='Lena'
Händisch gehts ja schon seit heute morgen 8:00 Uhr ;) aber ich will ja net, dass alle für gut voten müssen *g*
Robert