Avatar billede thomas_b Nybegynder
07. februar 2006 - 20:08 Der er 11 kommentarer og
1 løsning

Fejl i ASP-script !

Hej Eksperter...!

jeg har et lille problem med dette script...! Den giver mig en "log_post" på værdien 0 hver gang lige meget hvor mange poster der er i DB...! Og datoen er = eller større og IP'en er også den samme... kan i ikke give mig et hint om hvad der kunne være galt...?

Jeg har sat et "Response.Write Sql" på som skriver følgende:
SELECT count(*) as log_post FROM nytabel2006_statastik_log WHERE '12/30/1899'='2/7/2006' AND ip='xxx.xxx.xxx.xxx'

---> Så tænke jeg på om det kunne være noget med datoen nu den viser: '12/30/1899' men kan ikke finde en fejl i koden eller DB

Kunne være dejligt hvis jeg lige fik lavet denne lille fejl som najer....!


SQL = "SELECT count(*) as log_post FROM nytabel2006_statastik_log WHERE '"& FormatDateTime(dato, vbShortDate) &"'='"& date_org &"' AND ip='"& Request.ServerVariables("REMOTE_ADDR") &"'"
Response.Write Sql
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL, Conn,1, 2
log_post = rs("log_post")
Avatar billede erikjacobsen Ekspert
07. februar 2006 - 20:13 #1
Hvor kommer dato i FormatDateTime(dato, vbShortDate)  fra ?
Avatar billede cpufan Juniormester
07. februar 2006 - 20:14 #2
hvad hedder din datokolonne i db'en, og er den defineret som datoformat eller tekstformat?
Avatar billede thomas_b Nybegynder
07. februar 2006 - 20:17 #3
cpufan -> den hedder i Databasen: dato og formateret som tekst (på grund af at som dato laver den om på dd/mm/yyyy til mm/dd/yyyy) og derved virker det ikke...!

erikjacobsen -> FormatDateTime(dato, vbShortDate) kommer af dato som ligger i DB
Avatar billede cpufan Juniormester
07. februar 2006 - 20:25 #4
prøv CDATE(dato) istedet for

ikke sikker på at det gør en forskel
Avatar billede thomas_b Nybegynder
07. februar 2006 - 20:31 #5
Så viser den bare : '12:00:00 AM' som dato....
Avatar billede cpufan Juniormester
07. februar 2006 - 20:35 #6
CDate(Format([dato],"mm/dd/yyyy"))
Avatar billede erikjacobsen Ekspert
07. februar 2006 - 20:57 #7
"FormatDateTime(dato, vbShortDate) kommer af dato som ligger i DB" - det er jo ikke rigtigt. Din "dato" er en variabel i dit script. Men det kan være du mener den skal komme fra tabellen?
Avatar billede thomas_b Nybegynder
07. februar 2006 - 21:31 #8
cpufan -> nu skriver den:

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'Format'

incl.asp, line 15

--
Hvor linie 15 er : SQL = "SELECT count(*).....
Avatar billede thomas_b Nybegynder
07. februar 2006 - 21:34 #9
FormatDateTime(dato, vbShortDate) er ombygget af FormatDateTime(Now(), vbShortDate) hvor jeg bare har sat dato ind i stedet for Now() -> så meget jeg at den skal tage datoen fra min DB f. eks. 07-02-2006 20:33:04 og lave om så den hedder 07-02-2006 --> Er dette ikke korekt gjordt ?
Avatar billede erikjacobsen Ekspert
07. februar 2006 - 21:54 #10
Nej, det er ikke korrekt - det er jo derfor det ikke virker. ;)
Du gør det i VBScript (i ASP om du vil), men du skal gøre det i SQL-sætningen, hvis du skal tilgå felter i tabellen. Datofunktioner plejer at være forskellige i forskellige databasessystemer. Hvad bruger du?
Avatar billede thomas_b Nybegynder
07. februar 2006 - 23:46 #11
Hej... Har klaret det... Lavede bare 2 kolonner en med dato og en med tid så slettede jeg FormatDateTime(dato, vbShortDate) og det hjalp...
Men ellers 1000 tak...

Tager jeg bare point selv ?
Avatar billede erikjacobsen Ekspert
08. februar 2006 - 00:20 #12
Jeg samler slet ikke på point, tak.
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