webForumDet fria alternativet

Räknare

ASP

8 svar · 263 visningar · startad av ReloadMaster

Medlem sedan aug. 2001239 inlägg
Frågan#1

Tjena!
Varför vill denna inte funka
Ska vara en enkel räknare:

<html>
<head>
<title>Räknare - _ _ _ _ _ _.nu</title>
</head>
<body>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("raknardb.mdb")

SQL = "UPDATE raknare SET Besokare = Besokare + 1" 
Set RecSet = Connect.Execute (SQL) 

besokare = RecSet("Besokare")

%>

<%
RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
%>
</body>
</html>

Sedan vill jag tipsa om denna svåra fråga: http://cgi.webforum.nu/wf/Forum11/HTML/006074.html

------------------
Das Dunkhopf...

Medlem sedan juni 200032 967 inlägg
#2

en update-fråga returnerar ingenting, utan det recordset du skapar är tomt.

det är lite svårt också att hjälpa till när du inte säger vad det är som inte funkar.

uppdateras inte databasen?
får du inte rätt värde i variabeln?

så här hade jag gjort:

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("raknardb.mdb")
SQL = "UPDATE raknare SET Besokare = Besokare + 1" 
Connect.Execute(SQL)

SQL = "SELECT Besokare FROM raknare"
Set RecSet = Connect.Execute (SQL) 

besokare = RecSet("Besokare")

RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
Response.write besokare & " personer har varit här, för fasen!"
%>

mvh,

------------------
mördar-anders, det är jag.

Medlem sedan aug. 2001239 inlägg
#3

Schysst...

Men om vi säger att jag skulle vilja uppdatera en textfil med ett för varje besökare och skriva ut det hur skulle det kunna se ut?
------------------
Das Dunkhopf...

[Redigerat av ReloadMaster den 30 aug 2001]

Medlem sedan feb. 20012 412 inlägg
#4

Skärpning @nders, har du inte lärt dig än. LarsG som repeterar så ofta ;)


<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("raknardb.mdb")

SQL = "UPDATE raknare SET Besokare = Besokare + 1" 
Connect.Execute [b]SQL,,128[/b]

SQL = "SELECT Besokare FROM raknare"
Set RecSet = Connect.Execute (SQL) 

besokare = RecSet("Besokare")

RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
Response.write besokare & " personer har varit här, för fasen!"
%>

Både funkar men denna är snäppet vassare :e

Jörgen :)

------------------
"Ett väl utfört arbete ger en inre tillfredsställelse och är den grund varpå samhället vilar."

Medlem sedan aug. 2001239 inlägg
#5

Kan ingen?

------------------
Das Dunkhopf...

Medlem sedan dec. 19998 577 inlägg
#6

Säkerligen många, men dom flesta har redan svarat påfrågan massor med gånger, så jag föreslår att du ägnar några minuter till att söka i detta forum.

Seek and you shall find... :)

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

Medlem sedan juli 20003 825 inlägg
#7

Varför ska du uppdatera en textfil när du har en databas!? Du får använda FSO, File System Object, och det är inte alls säkert att ditt webbhotell stödjer FSO.

Skippa det. Ingen gör så och det är ingen slump. Det är helt enkel ett duktigt omständigt tillvägagångssätt.

Vad betyder 'Connect.Execute SQL,,128'?

Medlem sedan juni 200032 967 inlägg
#8

Vad betyder 'Connect.Execute SQL,,128'?

en fråga vi aldrig hört förut... :p

det innebär att inget recordset skapas överhuvudtaget när sql-satsen exekveras.

mvh,

------------------
mördar-anders, det är jag.

Medlem sedan feb. 20012 412 inlägg
#9

Hej, vill du tvunget använda en textfil kan du prova detta som jag sparat av någon anledning:


<%
set FileObject = createobject("scripting.filesystemobject")
totfile = server.mappath("counter.txt")

If FileObject.FileExists(totfile) Then
set ActiveFile = FileObject.opentextfile(totfile)
counter = clng(ActiveFile.readline)
counter = counter + 1
ActiveFile.close
Set ActiveFile = FileObject.CreateTextFile(totfile, true)
ActiveFile.WriteLine(counter)
ActiveFile.Close         

Else

Set ActiveFile = FileObject.CreateTextFile(totfile)
ActiveFile.WriteLine("1")
counter=1
ActiveFile.Close

End If

Response.Write "Besökare: <b>" & counter & "</b>"

mvh Jörgen

------------------
"Ett väl utfört arbete ger en inre tillfredsställelse och är den grund varpå samhället vilar."

302 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
174 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)