WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   asp sql problem (https://www.wn.se/forum/showthread.php?t=6763)

ante_ 2005-03-16 14:29

hejsan.
jag har ett problem, bifogar kod...
Kod:

strDate = Request.QueryString("year") & "-" & Request.QueryString("month") & "-" & Request.QueryString("day")
       
Set objRs = Server.CreateObject("ADODB.Recordset")
objRs.Open "SELECT * FROM tabellen WHERE Datum = " & strDate & "", objConn

borde inte detta funka? när jag försöker skriva ut de fält ja vill så syns inget. :o

hnn 2005-03-16 15:01

Kod:

strDate = Request.QueryString("year") & "-" & Request.QueryString("month") & "-" & Request.QueryString("day")

Set objRs = Server.CreateObject("ADODB.Recordset")
objRs.Open "SELECT * FROM tabellen WHERE Datum = _'_" & strDate & "_'_", objConn

'



Den borde funka.... Datum ska alltid vara inom citat.. Ta bort _

ante_ 2005-03-16 15:02

Datum är av datatypen datum/tid i ms access. är det möjligen sträcken (-) som bidrar till att det inte går?

ante_ 2005-03-16 15:05

Citat:

Originally posted by hnn@Mar 16 2005, 16:01
Kod:

strDate = Request.QueryString("year") & "-" & Request.QueryString("month") & "-" & Request.QueryString("day")

Set objRs = Server.CreateObject("ADODB.Recordset")
objRs.Open "SELECT * FROM tabellen WHERE Datum = _'_" & strDate & "_'_", objConn

'



Den borde funka.... Datum ska alltid vara inom citat.. Ta bort _

har provat det och får följande fel... :(

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

jimmie 2005-03-16 15:09

objRs.Open "SELECT * FROM tabellen WHERE Datum = '"&(strDate)&"', objConn

Brukade jag nog göra när jag använde asp men det var 2 år sedan, nu är det php som gället. Är inte 100 på att det var så jag gjorde men något liknande.

ante_ 2005-03-16 15:13

Citat:

Originally posted by jimmie@Mar 16 2005, 16:09
objRs.Open "SELECT * FROM tabellen WHERE Datum = '"&(strDate)&"', objConn

Brukade jag nog göra när jag använde asp men det var 2 år sedan, nu är det php som gället. Är inte 100 på att det var så jag gjorde men något liknande.

hade gärna valt att skriva detta projekt i php men eftersom den befintliga databasen är av .mdb format så får det bli asp.

desvärre funkar inte ditt förslag heller. tror ja blir tokig på detta.

Eddie 2005-03-16 15:24

Testa att göra om det till ett riktigt datum innan du hämtar.
strDate = DateSerial(Request.QueryString("year"), Request.QueryString("month"), Request.QueryString("day"))

Kan hjälpa..

Edit: Om datumet i dbn är sparat med tid också så kan du ju testa Select ...... where Datum Like '"& strDate &"%'

jimmie 2005-03-16 15:26

http://msdn.microsoft.com/library/default..../vsfctcdate.asp

Kan detta hjälpa dig då?

Vad får du för felmeddelande när du skriver på det sättet som jag föreslog då?

ante_ 2005-03-16 15:36

jimmie: får inget meddelande alls närr ja kör ditt sätt, bara att inget visas.

wallabou: hjälpe inte att göra om strängen till ett datum heller. tid är inte sparad i db:n bara datum.

får passa på att tacka för all hjälp.

edit: fältet Datum i db:n har värde 2005-03-16 och precis detta datum genererar strDate så ja fattar inte varför det inte vill funka.

insu 2005-03-16 17:01

Citat:

Originally posted by ante_@Mar 16 2005, 15:29
hejsan.
jag har ett problem, bifogar kod...
Kod:

strDate = Request.QueryString("year") & "-" & Request.QueryString("month") & "-" & Request.QueryString("day")
       
Set objRs = Server.CreateObject("ADODB.Recordset")
objRs.Open "SELECT * FROM tabellen WHERE Datum = " & strDate & "", objConn

borde inte detta funka? när jag försöker skriva ut de fält ja vill så syns inget. *:o


Är du säker att du har något värde i Request.QueryString("year")?

Testa att skriva ut värderna... och kolla att värderna överensstämmer med datumet du vill få fram...

Lindahl 2005-03-16 23:43

I access-sql skriver man # runt datum.

SELECT * FROM tabellen WHERE Datum=#2005-03-16#

Marcus 2005-03-17 02:31

Nu vet jag ju inte riktigt om det löste sig genom att skriva # runt datumet, annars kan det möjligen kanske ha att göra med vilken typ av datum som används i databasen, dvs om det är datum-fält med t.ex. formateringen "General Date" (dvs i stil med: '2005-03-17 02:31:20') eller om det är något annat? "Short Date" ('2005-03-17') är väl det du söker på.

eg0master 2005-03-17 07:31

Citat:

Originally posted by ante_@Mar 16 2005, 16:13
hade gärna valt att skriva detta projekt i php men eftersom den befintliga databasen är av .mdb format så får det bli asp.

PHP och access funkar väl alldeles utmärkt? Har jag hört... ;)

Kan du skriva motsvarade select direkt i access?
DVS har du en fråga som du vet funkar i access?

ante_ 2005-03-17 08:15

Citat:

Originally posted by Baltiz@Mar 17 2005, 00:43
I access-sql skriver man # runt datum.

SELECT * FROM tabellen WHERE Datum=#2005-03-16#

det löste sig faktiskt med detta. ja tackar och bugar :D

jimmie 2005-03-17 09:39

Citat:

Ursprungligen postat av ante_
Citat:

Ursprungligen postat av Baltiz
I access-sql skriver man # runt datum.

SELECT * FROM tabellen WHERE Datum=#2005-03-16#

det löste sig faktiskt med detta. ja tackar och bugar :D

Hehe, små saker kan göra skillnaden. Kan också notera att samma sak stod i länken som jag postade ovan :P


Alla tider är GMT +2. Klockan är nu 22:52.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson