Jag har en databas med tre kolummer,
ID & Number & Reference
... jag kommer få ett värde som ska jämföras med Reference. Där det stämmer överens ska Number plussas med ett.
Men om "Reference-värdet" inte finns ska detta _skrivas in och en ett under "Number"_.
connect.execute "update t set number = number + 1 where reference = " & reference",rows,128
if rows = 0 then
connect.execute "insert into t(reference,number) values(" & reference & ",1)",,128
end if
Microsoft VBScript compilation error '800a0409'
Unterminated string constant
/v2/default.asp, line 6
Connect.Execute "Update Counter SET Number = Number + 1 Where Reference = " & Reference ",rows,128
--------------------------------------------------------------------------------------------------^
Men det blir inte heller rätt om jag avslutar med ett extra ".
Koden ser (som sagt) ut så här:
<!--#include file="includes/connstring.asp" -->
Reference = Trim(LCase(Request.ServerVariables("HTTP_REFERER"))) & ""
Connect.Execute "Update Counter SET Number = Number + 1 Where Reference = " & Reference ",rows,128
If Rows = 0 Then
Connect.Execute "Insert into Counter(Reference,Number) Values(" & Reference & ",1)",,128
End If
Connect.Close
Set Connect = Nothing
Microsoft VBScript compilation error '800a03ea'
Syntax error
/v2/Default.asp, line 6
Connect.Execute "Update Counter SET Number = Number + 1 Where Reference = " & Reference & ,rows,128"
------------------------------------------------------------------------------------------^
Connect.Execute "Update Counter SET Number = Number + 1 Where Reference = " & Reference & ,rows,128"
Det är inte ovanligt att Syntax Error-felmeddelanden innebär att man har ett reserverat ord med i SQL-frågan, tabell- eller fältnamn alltså.
Number är reserverat. Byt namn.
Ang ditt andra problem med Object expected så får du nog visa lite kod. Visst kan man inkludera filer, det spelar ingen roll vad som är i dem. Innehållet i de olika filerna klistras ju bara ihop, så det ska inte spela någon roll om du använder include eller skriver koden rätt i filen.
Microsoft VBScript runtime error '800a01a8'
Object required: 'Connect'
/v2/Default.asp, line 6
<!--#include file="includes/variables.asp" -->
<%
' Kod för att räkna varifrån besökare kommit
Reference = Trim(LCase(Request.ServerVariables("HTTP_REFERER"))) & ""
<!--#include file="includes/connstring.asp" -->
[b]Connect.Execute "Update Counter SET Numero = Numero + 1 Where Reference = '" & replace(Reference,"'","''") & "'" ,rows,128[/b]
If Rows = 0 Then
Connect.Execute "Insert into Counter(Reference,Numero) Values(" & Reference & ",1)",,128
End If
%>
Den markerade raden blir det om man räknar <!--#include file="includes/connstring.asp" --> som en ad och inte vad den innehåller...
Du ska inte ha includen inne i asp-context. Du skall alltså i din includefil ha <% och %> runt innehållet, och lägga includedirektivet 'löst' i din asp-fil. (precis som du gjort ett par rader ovan den raden).