Avatar billede medievil Nybegynder
26. oktober 2003 - 13:29 Der er 19 kommentarer og
2 løsninger

tid mellem en tid og tiden nu !

Heysa !

Jeg har et problem, jeg ville forsøge at bruge between mellem session("sidstset") og time ! Men det gider den ikke ! her er min kode:

sql = "select * From chat where rum = 1 AND til = 'alle' OR til = '" & session("brugernavn") & "' AND tidogdato BETWEEN '" & session("sidstset") & "' AND '" & time & "' ORDER BY Id desc"

Funktionen skal gøre sådan at når man logger på min chat, så viser den kun de ting som er skrevet efter at man er logget på !
Avatar billede mnoer Nybegynder
26. oktober 2003 - 13:33 #1
hvilken DB bruger du?
Avatar billede medievil Nybegynder
26. oktober 2003 - 13:35 #2
Jeg bruger Access !
Avatar billede eagleeye Praktikant
26. oktober 2003 - 14:04 #3
Hvilket format er tidogdato ?
Og hvilken data type er kolonnen tidogdato?
Avatar billede medievil Nybegynder
26. oktober 2003 - 14:23 #4
tidogdato skrives fx. 14:18:06 AM
og har skrevet i databasen now() for at den selv finder tiden !

Jeg får denne fejl:

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

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

/netheroes/usersystem/chat/gettext.asp, line 6
Avatar billede ellebaek Nybegynder
26. oktober 2003 - 14:23 #5
måske skal du bruge now() i stedet for time...

når du bruger time får du kun tidspunktet på denne dag, men ikke datoen med...
Avatar billede ellebaek Nybegynder
26. oktober 2003 - 14:25 #6
altså:

sql = "select * From chat where rum = 1 AND til = 'alle' OR til = '" & session("brugernavn") & "' AND tidogdato BETWEEN '" & session("sidstset") & "' AND '" & now & "' ORDER BY Id desc"
Avatar billede medievil Nybegynder
26. oktober 2003 - 14:31 #7
Hvis jeg bruger now skriver den det sammen ! men i databasen har jeg os sat den til at skrive: 14:18:06 !

Så det brude ikke være det der er problemet !
Avatar billede netro Nybegynder
26. oktober 2003 - 15:00 #8
Det er ikke dansk datoformat, vel?

session("sidstset") = "2003-10-26 14:18:06"

sql = "select * From chat where rum = 1 AND (til = 'alle' OR til = '" & session("brugernavn") & "') AND tidogdato BETWEEN '" & session("sidstset") & "' AND Now() ORDER BY Id desc"

Hjælper det, hvis du erstatter ' omkring session("sidstset") med # ?
Avatar billede dna Nybegynder
26. oktober 2003 - 15:18 #9
Hvorfor ikke bare bruge:
"... AND tidogdato > " & session("sidstset") & " ORDER BY ID DESC"

Så får du det som er skrevet "sidensidst" - og det kan jo aldrig være skrevet senere end now() ... ?

Syntes ikke BETWEEN er nødvendig?

dna
Avatar billede medievil Nybegynder
26. oktober 2003 - 15:20 #10
Nu har jeg en der hedder online.asp:
        ' åbner databasen
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("../../database/db.mdb")
sql = "select * from brugere where brugernavn = '" & Session("brugernavn") & "'"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open sql, conn, 1, 3

rs.update
rs("on") = "yes"
rs("sidstset") = now
rs.update

session("sidstset") = rs("sidstset")

også har jeg skrevet i gettext.asp:
sql = "select * From chat where rum = 1 AND til = 'alle' OR til = '" & session("brugernavn") & "' AND tidogdato BETWEEN #" & session("sidstset") & "# AND Now() ORDER BY Id desc"

Nu viser den også teksten men, det viser alt teksten ik kun det mellem sidstset og now ?!
Avatar billede medievil Nybegynder
26. oktober 2003 - 15:22 #11
og til dna ! hvis jeg bruger < eller > siger giver den mig os den samme fejl !
Avatar billede dna Nybegynder
26. oktober 2003 - 15:28 #12
sql = "SELECT * FROM CHAT WHERE RUM = 1 AND (til='alle' OR til= '"& session("brugernavn")) AND tidogdato > '" & session("sidstset") & "' ORDER BY ID DESC"

Prøv lige det! :-)
Avatar billede dna Nybegynder
26. oktober 2003 - 15:31 #13
Dit felt i databasen skal være af typen "Dato og tid" ... eller hvad det nu hedder i Access?
Avatar billede medievil Nybegynder
26. oktober 2003 - 15:33 #14
sql = "select * From chat where rum = 1 AND (til = 'alle' OR til = '" & session("brugernavn") & "') AND tidogdato > '" & session("sidstset") & "' ORDER BY ID DESC"

Den giver os "Data type mismatch in criteria expression. "
Avatar billede medievil Nybegynder
26. oktober 2003 - 15:37 #15
Den er os lavet til dato og tid i databasen nu ! Men det virker stadig ikke :(
Avatar billede medievil Nybegynder
26. oktober 2003 - 15:44 #16
Jeg har lige set i databasen om værdierne er rigtige:
tidogdato = 26-10-03 15:44:07
sidstset = 26-10-03 15:44:07

hehe, de er rigtige nok så?!
Avatar billede netro Nybegynder
26. oktober 2003 - 16:09 #17
Dvs. at du ikke får fejlen, når du bruger #, men til gengæld vises alle poster?
Avatar billede medievil Nybegynder
26. oktober 2003 - 16:15 #18
Nej ikke helt, når man logger på skriver chatten selv 2 beskeder:
den ene står der regler osv. det er "til = brugernavn"
Den anden skriver "brugernavn er logget på"

Alle den hvor der står brugernavn er logget på kan jeg se men ikke dem som er privat til en bruger ! Hmm, kigger lige på koden igen !
Avatar billede medievil Nybegynder
26. oktober 2003 - 16:21 #19
Yes har fået det til at virke, den rigtige kode skulle være:

sql = "select * From chat where rum = 1 AND (til = 'alle' OR til = '" & session("brugernavn") & "') AND tidogdato BETWEEN #" & session("sidstset") & "# AND Now() ORDER BY Id desc"

Tak for hjælpen gutter
Avatar billede medievil Nybegynder
26. oktober 2003 - 16:21 #20
netro lav lige et svar !
Avatar billede netro Nybegynder
26. oktober 2003 - 16:26 #21
Okay - men som dna er inde på, burde det nu også fungere, hvis du skriver:

sql = "select * From chat where rum = 1 AND (til = 'alle' OR til = '" & session("brugernavn") & "') AND tidogdato >= #" & session("sidstset") & "# ORDER BY Id desc"
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