24. januar 2001 - 11:37Der er
7 kommentarer og 1 løsning
tæl felt op i database...
hej! jeg bruger nogle server.variabler såsom \"REMOTE_ADDR\" der så indsætter brugerens ip-nummer i en række i databasen. Men hver gang den samme bruger med det samme ip-nummer logger på, så skriver den en ny række i databasen. hvordan laver jeg et \"tælle-felt\" i stedet for, således at den kun skriver ip-nummeret ned i databasen hvis det ikke findes i forvejen, og hvis det gør, så tæller den et antal-felt op.
Min testkode ser således ud:
<% dim objconn,strconn,strQ set objconn = server.CreateObject(\"ADODB.Connection\") strconn =\"Data Source=Northwind;User ID=sa;Password=;\"
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Først skal du lave en select statement der undersøger om IP adressen findes: SELECT * FROM Nortwind WHERE REMOTE_ADDR = \'\" & adresse & \"\'\"
Så skal du tjekke på om den fandt noget: If rs.RecordCount > 0 Then
Hvis den fandt noget, så skal du opdatere dit tælle felt: strCount = rs(\"Count\") strQ = \"UPDATE tabel1 SET Count = \" & strCount+1 & \" WHERE REMOTE_ADDR = \'\" & adresse & \"\'\"
His ikke den finder noget, så skal du indsætte en ny: strQ=\"insert into tabel1 (REMOTE_ADDR) values (\'\" & adresse & \"\')\"
ok, nu ser min kode så således ud. Men det giver følgende fejl:
Microsoft VBScript runtime error \'800a000d\'
Type mismatch
I accessdatabasen har jeg 2 felter: REMOTE_ADDR og COUNT.
--------------- start kode ----------------- dim objconn,strconn,strQ set objconn = server.CreateObject(\"ADODB.Connection\") strconn =\"Data Source=Northwind;User ID=sa;Password=;\"
strQ \"SELECT * FROM Northwind WHERE REMOTE_ADDR = \'\" & adresse & \"\'\" \'Så skal du tjekke på om den fandt noget: If rs.RecordCount > 0 Then \'Hvis den fandt noget, så skal du opdatere dit tælle felt: strCount = rs(\"COUNT\") strQ = \"UPDATE Tabel3 SET Count = \" & strCount+1 & \" WHERE REMOTE_ADDR = \'\" & adresse & \"\'\" \'Hvis ikke den finder noget, så skal du indsætte en ny: strQ=\"insert into tabel3 (REMOTE_ADDR) values (\'\" & adresse & \"\')\" end if objconn.Execute strQ
\'strQ=\"insert into tabel1 (REMOTE_ADDR) values (\'\" & adresse & \"\')\"
Jeps - kun ét kald hvis posten eksisterer i databasen.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.