SebbeMedlem sedan jan. 20031 603 inlägg
Var inte säker på om jag skulle lägga den här frågan i ASP eller SQL-forumet, men jag lägger den här.
Jag kör den här koden:
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("serie.mdb")
strSQL = "INSERT INTO matcher (omg, datum, hemmalag, bortalag, hemmamal, bortamal) VALUES (" & intOmg & ", #" & dtmDatum & "#, '" & strHemmalag & "', '" & strBortalag & "', " & intHemmamal & ", " & intBortamal & ")"
objConn.Execute(strSQL)
If CInt(intHemmamal) > CInt(intBortamal) Then
strSQL = "UPDATE lag SET vunna = vunna + 1 WHERE namn = '" & strHemmalag & "'"
objConn.Execute(strSQL)
strSQL = "UPDATE lag SET förlorade = förlorade + 1 WHERE namn = '" & strBortalag & "'"
ElseIf CInt(intHemmalag) < CInt(intBortamal) Then
strSQL = "UPDATE lag SET vunna = vunna + 1 WHERE namn = '" & strBortalag & "'"
objConn.Execute(strSQL)
strSQL = "UPDATE lag SET förlorade = förlorade + 1 WHERE namn = '" & strHemmalag & "'"
ElseIf CInt(intHemmlag) = CInt(intBortalag) Then
strSQL = "UPDATE lag SET oavgjorda = oavgjorda + 1 WHERE namn = '" & strHemmalag & "'"
objConn.Execute(strSQL)
strSQL = "UPDATE lag SET oavgjorda = oavgjorda + 1 WHERE namn = '" & strBortalag & "'"
End If
objConn.Execute(strSQL)
strSQL = "UPDATE lag SET gjorda = gjorda + " & intHemmamal & ", inslappta = inslappta + " & intBortamal & " WHERE namn = '" & strHemmalag & "'"
objConn.Execute(strSQL)
strSQL = "UPDATE lag SET gjorda = gjorda + " & intBortamal & ", inslappta = inslappta + " & intHemmamal & " WHERE namn = '" & strBortalag & "'"
objConn.Execute(strSQL)
objConn.Close : Set objConn = Nothing
Response.Redirect("default.asp?do=schema")
Problemet är det att ingen av SQL-satserna efter INSERT-satsen verkar köras. Det är som om Response.Redirecten körs direkt efter den. Ändå har jag testat att skriva ut en av de frågorna för att de om den koden körs, och frågan skrivs ändå ut! Jag testade även att skapa ett helt nytt connection-object till UPDATE-frågorna, men ingen skillnad.
Hoppas att någon fattar vad jag menar i alla fall. :)
LarsGMedlem sedan dec. 200012 465 inlägg
ElseIf CInt(intHemmalag) -- stämmer väl inte
SebbeMedlem sedan jan. 20031 603 inlägg
/red Läste fel. Tack LarsG, ska testa om dte funkar. :)
solbulleMedlem sedan mars 20014 998 inlägg
Vad händer då om du skriver ut ALLA sqlsatser, samt bortkommenterar din redirect?
Blir det rätt satser som skrivs ut med tanke på vad intHemmamal mm innehåller?
SebbeMedlem sedan jan. 20031 603 inlägg
Solbulle: Ja, de visar rätt, allihopa.
Nu ser koden ut såhär, fortfarande samma problem. Alla SQL-exekveringar efter INSERT-satsen körs inte.
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("serie.mdb")
strSQL = "INSERT INTO matcher (omg, datum, hemmalag, bortalag, hemmamal, bortamal) VALUES (" & intOmg & ", #" & dtmDatum & "#, '" & strHemmalag & "', '" & strBortalag & "', " & intHemmamal & ", " & intBortamal & ")"
objConn.Execute(strSQL)
If CInt(intHemmamal) > CInt(intBortamal) Then
strSQL = "UPDATE lag SET vunna = vunna + 1 WHERE namn = '" & strHemmalag & "'"
objConn.Execute(strSQL)
strSQL = "UPDATE lag SET förlorade = förlorade + 1 WHERE namn = '" & strBortalag & "'"
ElseIf CInt(intHemmamal) < CInt(intBortamal) Then
strSQL = "UPDATE lag SET vunna = vunna + 1 WHERE namn = '" & strBortalag & "'"
objConn.Execute(strSQL)
strSQL = "UPDATE lag SET förlorade = förlorade + 1 WHERE namn = '" & strHemmalag & "'"
ElseIf CInt(intHemmamal) = CInt(intBortamal) Then
strSQL = "UPDATE lag SET oavgjorda = oavgjorda + 1 WHERE namn = '" & strHemmalag & "'"
objConn.Execute(strSQL)
strSQL = "UPDATE lag SET oavgjorda = oavgjorda + 1 WHERE namn = '" & strBortalag & "'"
End If
objConn.Execute(strSQL)
strSQL = "UPDATE lag SET gjorda = gjorda + " & intHemmamal & ", inslappta = inslappta + " & intBortamal & " WHERE namn = '" & strHemmalag & "'"
objConn.Execute(strSQL)
strSQL = "UPDATE lag SET gjorda = gjorda + " & intBortamal & ", inslappta = inslappta + " & intHemmamal & " WHERE namn = '" & strBortalag & "'"
objConn.Execute(strSQL)
objConn.Close : Set objConn = Nothing
Response.Redirect("default.asp?do=schema")
solbulleMedlem sedan mars 20014 998 inlägg
Sätt 0 (noll) som standardvärde i dina kolumner. ;)
SebbeMedlem sedan jan. 20031 603 inlägg
solbulle skrev:
Sätt 0 (noll) som standardvärde i dina kolumner. ;)
Visste jag väl redan? ;)