Sascha Mandelkow: 1 auf den Inhalt einer Variablen addieren

Beitrag lesen

Hallo Robert.

Also gut, nochmal ganz von vorne...

1. Die Fehler haben nur bedingt was miteinander zu tun.

2. Der erste Fehler war nicht das Aufaddieren der Variablen, sondern der Zugriff auf ein leeres RecordSet-Objekt.

3. Bei Verwendung von Integern ist eine Umschließung der Varibalen mit Hochkommata (') Unsinn. Das gilt für Strings.

4. 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'

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
%>

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.

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'

Wenn dann ein Fehler auftritt, liegt es an was anderem...

Grüße
Sascha