Avatar billede kartolux Nybegynder
13. november 2001 - 21:53 Der er 10 kommentarer og
1 løsning

En lille en nem en?

Hvad gør jeg forkert her?

<%
searchmail = \"kartolux@vip.cybercity.dk\"
today = now

Set dbConn = Server.CreateObject(\"ADODB.Connection\")
dbConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"_private/orders.mdb\")
set rs = dbConn.Execute (\"SELECT count (*) AS Antal FROM orders WHERE KuponEmail=searchmail AND TimeNow=now\")

If not (rs.BOF or rs.EOF) then

Response.Write antal

end if

%>

Jeg vil gerne have antallet af ordrer bestilt af kartolux@vip.cybercity.dk i dag udskrevet til skærm.

Der søges i felterne KuponEmail og TimeNow
Avatar billede eagleeye Praktikant
13. november 2001 - 21:56 #1
du skal hvade \' omrkring tekst log sikkert også # omkring dato ikke mindst skal seachmail og now bruges som variable:


set rs = dbConn.Execute (\"SELECT count (*) AS Antal FROM orders WHERE KuponEmail=\'\"&searchmail&\"\' AND TimeNow=#\"&now&\"#\")
Avatar billede eagleeye Praktikant
13. november 2001 - 22:00 #2
Du er godt klar over at Now indeholder både dato og tid: Så dette TimeNow=#\"&now&\"#\" er nok ikke opfyldt specielt tit. Jeg ved jo så ikke hvad du gemmer i TimeNow kolonnen ?
Avatar billede kartolux Nybegynder
13. november 2001 - 22:03 #3
Jeg gemmer kun datoen. Tidspunktet er ikke med.

Denne her virker ikke:

<%
searchmail = \"kartolux@vip.cybercity.dk\"
today = now

Set dbConn = Server.CreateObject(\"ADODB.Connection\")
dbConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"_private/orders.mdb\")
set rs = dbConn.Execute (\"SELECT count (*) AS Antal FROM orders WHERE KuponEmail=\'\"&searchmail&\"\' AND TimeNow=#\"&now&\"#\")
If not (rs.BOF or rs.EOF) then

Response.Write antal

end if

%>

Denne fejl kommer:

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
Avatar billede eagleeye Praktikant
13. november 2001 - 22:10 #4
hvis du kun har dat så skal du bruge date og ikke now.

set rs = dbConn.Execute (\"SELECT count (*) AS Antal FROM orders WHERE KuponEmail=\'\"&searchmail&\"\' AND TimeNow=#\"&date&\"#\")

du skal også udskrive med:
rs(\"antal\") og ikke kun antal
Avatar billede kartolux Nybegynder
13. november 2001 - 22:13 #5
det dér as Antal - betyder det ikke at antallet indsættes i variablen Antal? Jeg vil ikke skrive noget til databasen.
Avatar billede eagleeye Praktikant
13. november 2001 - 22:16 #6
Det betyder den opretter en kunstig kolonne i dit recordset som tilgås som andre kolonner.

du kan heller ikke skrive i databasen på den måde du åber dit record set. Og før man kan gemme det skal man lave en rs.update
Avatar billede kartolux Nybegynder
13. november 2001 - 22:19 #7
Undskyld, men jeg forstår det ikke... Hvordan tilskriver man så antallet til en variabel, som senere udskrives til skærm?

Jeg får den samme fejl:

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

i den nye sql-sætning.
Avatar billede eagleeye Praktikant
13. november 2001 - 22:22 #8
du kan bare skrive for at udskrive den:
Response.Write rs(\"antal\")

Gemme i en variable:
variable = rs(\"antal\")

Hvoran er TimeNow defineret i databasen?
Avatar billede kartolux Nybegynder
13. november 2001 - 22:27 #9
Okay!

TimeNow er defineret som et Date/Time felt med General Date som format.
Indholdet i et felt kan være: 09-11-01 for 11. november 2001
Avatar billede eagleeye Praktikant
13. november 2001 - 23:31 #10
hmm så prøv

set rs = dbConn.Execute (\"SELECT count (*) AS Antal FROM orders WHERE KuponEmail=\'\"&searchmail&\"\' AND TimeNow=\"& date & \"\")
Avatar billede kartolux Nybegynder
13. november 2001 - 23:43 #11
Tak for hjælpen.

Denne virker - det er ¤%#!! svært:

<%

session.LCID = 1030

searchmail = \"kartolux@vip.cybercity.dk\"
Article = \"5\"

yesterday = date()-1


Set dbConn = Server.CreateObject(\"ADODB.Connection\")
dbConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"_private/orders.mdb\")
\' denne virker:  set rs = dbConn.Execute (\"SELECT count (*) AS Antal FROM orders where Timenow=#\"&date()&\"# \")
\' denne virker:  set rs = dbConn.Execute (\"SELECT count (*) AS Antal FROM orders where TimeNow=#\"&date()&\"# AND CookieEmail = \'kartolux@vip.cybercity.dk\' \")
\' denne virker:  set rs = dbConn.Execute (\"SELECT count (*) AS Antal FROM orders where TimeNow = #\"&date()&\"# AND CookieEmail like \'%\" & searchmail & \"%\' \")
set rs = dbConn.Execute (\"SELECT count (*) AS Antal FROM orders where TimeNow = #\"&date()&\"# AND CookieEmail like \'%\" & searchmail & \"%\' AND ArticleId like \'%\" & Article & \"%\' \")


If not (rs.BOF or rs.EOF) then

antal = rs(\"Antal\")
Response.Write rs(\"antal\") & \" ordrer bestilt af \" & searchmail & \" d. \" & date() & \"<br>\"

response.write date() & \"<br>\"
response.write yesterday

end if

%>
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester