Avatar billede webnoob Nybegynder
13. december 2005 - 22:58 Der er 12 kommentarer og
1 løsning

response write data fra database der er lig dags dato.

jeg har nu prøvet i et par dage at få et script til at virker.

Jeg har en database en en del brugere i, ud over at ha registeret navn er deres fødselsdato der også, det er meningen jeg vil have en brugersnavn frem på skærmen hvis deres fødselsdato er lig med dags dato.

jeg har selv lavet det her som ikke virker:

sql="select * from adresse where fdato="&right("0"&day(now),2)&"-"&right("0"&month(now),2)&" "
        'response.write sql
        set fdagbarn=rs.execute(sql)
        if not fdagbarn.eof then
        response.write fdagbarn("fornavn")&" "&fdagbarn("mellemnavn")&" "&fdagbarn("efternavn")&" "&("bliver.....")
        end if

jeg har testet om queryen virker og det gør den, den skriver dagsen dato, men der kommer bare ikke et navn frem.

Håber der er en der kan hjælpe mig.
Avatar billede -mundi- Nybegynder
13. december 2005 - 23:06 #1
Du har et mellemrum på til sidst i din query.prøvat slette &" "
Avatar billede webnoob Nybegynder
13. december 2005 - 23:08 #2
det virker heller ikke.
Avatar billede -mundi- Nybegynder
13. december 2005 - 23:11 #3
sql="select * from adresse where fdato='"&right("0"&day(now),2)&"-"&right("0"&month(now),2)&"' "

burde hjælpe, eller vil jeg tro den leder efter en fdato der er lig 13-12 = 1
Avatar billede -mundi- Nybegynder
13. december 2005 - 23:12 #4
altså set' rundt om datoen, jeg går ud fra at du bare har gemt det som tekst ?
Avatar billede webnoob Nybegynder
13. december 2005 - 23:15 #5
jeg gemmer fdato som datetime og din løsning giver fejl.

Microsoft OLE DB Provider for SQL Server error '80040e07'

Syntax error converting datetime from character string.

/top.asp, line 46

linje 46 er:

set fdagbarn=rs.execute(sql)
Avatar billede eagleeye Praktikant
13. december 2005 - 23:56 #6
De fleste databaser har en indbygget dato funktion som giver dags dato som man kan bruge direkte i SQL sætningen. Så vidt jeg kan se på fejl koden bruger du SQL server og så hedder funktionen vist nok GETDATE():

sql="select * from adresse where fdato=GETDATE()"
Avatar billede webnoob Nybegynder
14. december 2005 - 22:32 #7
Nu har jeg prøvet med denne her streng:

sql="select * from adresse where fdato= GETDATE()"

og så har jeg smidt en response.write sql ind i scriptet for at se hvad der kommer ud af den sql, det kommer der følgende ud af:

sql="select * from adresse where fdato= GETDATE()"

Bruger jeg der imod min egen streng:

sql="select * from adresse where fdato="&right("0"&day(now),2)&"-"&right("0"&month(now),2)&" "

så kommer det her frem:

select * from adresse where fdato=14-12
Avatar billede eagleeye Praktikant
20. december 2005 - 16:10 #8
Ja GETDATE() er en funktion som udføres i databasen så derfor vil bare står som tekst i selv SQL strengen. Henter den nogle poster ud?

Hvilket format eller type er fdato i databasen siden du ikke har års tallet med i din SQL sætning?
Avatar billede webnoob Nybegynder
22. december 2005 - 19:59 #9
jeg har prøvet at lave en response.write sql og det der kommer ud af det er:

sql="select * from adresse where fdato= GETDATE()"

der kommer ikke nogen dato, plus at der ikke kommer noget navn hvis der er en bruger der har der har fødselsdag som er lige dagens dato.
Avatar billede eagleeye Praktikant
22. december 2005 - 20:11 #10
Så din SQL sætning skal finde fødselsdage?

I så fald hvad gemmer du i kolonnen fdato?
Er det fødselsdagen som dd-mm-yyyy eller ??

Når man skal finde ud af om folk har fødselsdag er man nød til kun at tjekke på om dagen og måneden passer med dags dato og man skal ikke tjekke på årstallet..

Så SQL sætninge skal i være i stil med dette:

sql="select * from adresse where DATEPART(mm,fdato) = DATEPART(mm,GETDATE()) AND DATEPART(d,fdato) = DATEPART(d,GETDATE()) "
Avatar billede webnoob Nybegynder
22. december 2005 - 22:16 #11
I første omgang er det meningen at jeg vil kunne finde den person der er lige med dags dato. Når der er det skal der så regnes en alder ud.

Jeg gemmer fdato som datetime i databasen, som dd-mm-yyyy (22-12-2005).

Måden jeg skriver det ind i databasen ser sådan her ud:

Fødselsdato:
        <input name="fdag" type="numbers" id="fdag" tabindex="7" size="2" maxlength="2"> - <input name="fmaaned" type="numbers" id="fmaaned" tabindex="8" size="2" maxlength="2"> - <input name="faar" type="numbers" id="faar" tabindex="9" size="4" maxlength="4">&nbsp;&nbsp;&nbsp;<i>(Tegn mellem 0 - 9)&nbsp;&nbsp;&nbsp; ex. 22 - 10 - 1977</i>

fdato=request.form("faar")&right("0"&request.form("fmaaned"),2)&right("0"&request.form("fdag"),2)
Avatar billede webnoob Nybegynder
06. februar 2006 - 22:03 #12
eagleeye>> Vil du stadig hjælpe mig?
Avatar billede webnoob Nybegynder
17. februar 2006 - 21:48 #13
Da jeg ikke får nogen response fra nogen lukker jeg spørgsmålet og åbner et nyt senere, skal nok poste linket til det nye spørgsmål når jeg har oprettet det.
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