En kock ska laga mat och inte göra hemsidor. Efter många om och men så fick jag detta till att fungera, hur säkert och bra det är har jag ingen aning om.
set Command1 = Server.CreateObject("ADODB.Command")
Command1.ActiveConnection = XXXXXXXXXX
Command1.CommandText = "UPDATE recept SET visat = visat+1 WHERE id = Receptnr"
Command1.CommandType = 1
Command1.CommandTimeout = 0
Command1.Prepared = true
Command1.Execute()
Som vanligt kommer en följdfråga då. Jag vill bara uppdatera ett specifikt recept och denna kod uppdaterar alla recept med +1.
Jag vet inte hur din databasstruktur ser ut, men om den där koden uppdaterar alla poster i tabellen så har du två kolumner ('id' och 'Receptnr') som på alla rader innehåller identiska värden mot varandra, vilket jag för det första inte alls förstår. Antagligen identifierar du recepten med 'id', så varför ha en kolumn till med samma värde? Det din SQL gör nu är alltså att uppdatera alla rader där 'id's värde är samma som 'Receptnr's värde, vilket antagligen är på alla rader eftersom alla uppenbarligen påverkas av frågan.
Om du vill uppdatera ett recept givet ett id-nummer skall din SQL se ut såhär;
UPDATE recept SET visat = visat + 1 WHERE id = " & Cint(iReceptId)
Om jag skriver in som du visade så får jag felmedelande
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
/lyckasmeddb/wwwroot/receptbak.asp, line 60
set Command1 = Server.CreateObject("ADODB.Command")
Command1.ActiveConnection = MM_news_STRING
Command1.CommandText = "UPDATE recept SET visat = visat+1 WHERE id = " & Cint(iReceptnr)
Command1.CommandType = 1
Command1.CommandTimeout = 0
Command1.Prepared = true
Command1.Execute() [B]Detta är rad 60[/B]
Det unika nr jag har för varje recept är "receptnr"
SQL:UPDATE recept SET visat = visat +1 WHERE Receptnr = 0
det verkar som att jag försöker uppdatera receptnr "0" med den kod jag har, men det är inte riktigt det jag vill utan jag vill uppdatera det unika receptnr som besökaren tittar på.
Och denna felkod får jag när jag föresöker med vad WebbisNet skriver
Error Type:
Response object, ASP 0185 (0x8002000E)
A default property was not found for the object.
Varje gång en besökare trycker på en länk till ett recept så skickas receptnr med och jag använder receptnr som "trigger" heter det så? för att skriva ut texten och innehåll till det unika receptet med ett recordset.
Min förhoppning var att jag skulle kunna använda mig av "receptnr" som skickas med när någon trycker på länken, till att uppdatera kolumnen "visat" i tabellen Recept, med +1 varje gång något tittat på just det receptet.
Jag tackar och bockar så MYCKET LarsG
Så här vart koden:
iF isNumeric(request.querystring("receptnr")) then
receptNr = request.querystring("receptnr")
else
response.write "Felaktigt receptnummer"
response.direct "lämplig sida" (ska fundera på vilken om den alls behövs)
end IF
set Command1 = Server.CreateObject("ADODB.Command")
Command1.ActiveConnection = MM_news_STRING
Command1.CommandText = "UPDATE recept SET visat = visat +1 WHERE Receptnr = " & CLng(Receptnr)
Command1.CommandType = 1
Command1.CommandTimeout = 0
Command1.Prepared = true
Command1.Execute()
%>
Om du någonsin behöver hjälp med mat och dryck så är det bara att hojta till
//Peder
264 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91