|
|
 | tid på server Fra : Snoopy |
Dato : 28-07-03 15:44 |
|
Hejsa :)
Jeg har et problem med en database på udenlandsk server, jeg har et felt i databasen som opdateres med NOW()
problemet er at serveren er 7 timer bagud - hvordan ligger jeg 7 timer til NOW() - kan det ikke gøres med NOW()+7 ??
Takker for hjælpen
| |
Jens Gyldenkærne Cla~ (28-07-2003)
 | Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 28-07-03 16:31 |
|
Snoopy skrev:
- hvordan ligger jeg 7 timer til
> NOW() - kan det ikke gøres med NOW()+7 ??
Næppe. 7-tallet kunne lige så godt opfattes som minutter eller
dage. Prøv at kigge på dateadd-funktionen. Jeg kan ikke huske den
præcise syntaks (men den kan findes på nettet) - et skud fra hoften
siger:
DateAdd('h', Now(), 7)
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Snoopy (29-07-2003)
 | Kommentar Fra : Snoopy |
Dato : 29-07-03 06:06 |
|
> Næppe. 7-tallet kunne lige så godt opfattes som minutter eller
> dage. Prøv at kigge på dateadd-funktionen. Jeg kan ikke huske den
> præcise syntaks (men den kan findes på nettet) - et skud fra hoften
> siger:
>
> DateAdd('h', Now(), 7)
> --
> Jens Gyldenkærne Clausen
Ja det lyder som et fornuftigt forslag.
Skal man bare kunne udskifte NOW() med Dateadd(h Now(),7) i den INSERT sql string jeg har ?
Conn.Execute("INSERT INTO brugere (Username,time) VALUES ('" & oRS("Username") & "','" & Dateadd(h, Now(), 7) & "') & " er
tilføjet.')")
| |
 Jørn Andersen (29-07-2003)
 | Kommentar Fra : Jørn Andersen |
Dato : 29-07-03 11:49 |
|
On Tue, 29 Jul 2003 07:05:39 +0200, "Snoopy" <daffy0169@hotmail.com>
wrote:
>Skal man bare kunne udskifte NOW() med Dateadd(h Now(),7) i den INSERT sql string jeg har ?
>
>Conn.Execute("INSERT INTO brugere (Username,time) VALUES ('" & oRS("Username") & "','" & Dateadd(h, Now(), 7) & "') & " er
>tilføjet.')")
1. Det er ofte en god vane at konstruere Sql'en først og så eksekvere
den bagefter - så er det nemmere at debugge:
strSql = blabla
Conn.Execute(strSql)
2. Mener du ikke:
strSql = "INSERT INTO brugere (Username,time)" & _
" VALUES ('" & oRS("Username") & "'," & _
" DateAdd('h', Now(), 7))"
- ?
- Du kan lige så godt bruge *databasens* indbyggede funktioner
(DateAdd), så er du uafhængig af evt. forskelle i dato-*formatet*
mellem script og db.
- Der skal anførselstegn om 'h' i DataAdd
--
Jørn Andersen,
Brønshøj
| |
Tom Jensen (28-07-2003)
 | Kommentar Fra : Tom Jensen |
Dato : 28-07-03 17:18 |
|
"Snoopy"
>
> Jeg har et problem med en database på udenlandsk server, jeg har et felt i
databasen som opdateres med NOW()
> problemet er at serveren er 7 timer bagud - hvordan ligger jeg 7 timer til
NOW() - kan det ikke gøres med NOW()+7 ??
Det kan det da sikkert, men det vil være mere læseligt
at bruge dateadd()
DateAdd(interval, number, date)
Så du skriver altså: NyTid = dateadd("d",7,date())
--
Med venlig hilsen
Tom Jensen
FF Soft
www.ffsoft.dk
Hent en gratis web shop
| |
Snoopy (30-07-2003)
 | Kommentar Fra : Snoopy |
Dato : 30-07-03 06:05 |
|
> Så du skriver altså: NyTid = dateadd("d",7,date())
>
> --
> Med venlig hilsen
>
> Tom Jensen
> FF Soft
> www.ffsoft.dk
>
> Hent en gratis web shop
Hej Tom.
Ja, men jeg får en fejl, når jeg tilføjer den i min sql INSERT:
Den gamle:
Conn.Execute("INSERT INTO brugere (Username,time) VALUES ('" & oRS("Username") & "','" & Now() & "') & " er
tilføjet.')")
Den nye:
Conn.Execute("INSERT INTO brugere (Username,time) VALUES ('" & oRS("Username") & "','" & Dateadd("h", Now(), 7) & "') & " er
tilføjet.')")
Kan man ikke have den i ovenstående sætning ?? skal den tilføjes bagefter ??
| |
 Jørn Andersen (30-07-2003)
 | Kommentar Fra : Jørn Andersen |
Dato : 30-07-03 09:59 |
|
On Wed, 30 Jul 2003 07:04:59 +0200, "Snoopy" <daffy0169@hotmail.com>
wrote:
>Ja, men jeg får en fejl, når jeg tilføjer den i min sql INSERT:
*Hvilken* fejl? Det er svært at være synsk - i hvert fald for mig.
<url: http://www.asp-faq.dk/article/?id=41>
>Den gamle:
>Conn.Execute("INSERT INTO brugere (Username,time) VALUES ('" & oRS("Username") & "','" & Now() & "') & " er tilføjet.')")
>
>Den nye:
>Conn.Execute("INSERT INTO brugere (Username,time) VALUES ('" & oRS("Username") & "','" & Dateadd("h", Now(), 7) & "') & " er tilføjet.')")
>
>Kan man ikke have den i ovenstående sætning ?? skal den tilføjes bagefter ??
Du skal bare erstatte "h" med 'h' - ellers opfattes det som om
strengen bliver afbrudt.
Jeg spurgte i et tidligere indlæg, om det ikke var smartere at bruge
db'ens *egne* indbyggede funktioner:
strSql = "INSERT INTO brugere (Username,time)" & _
" VALUES ('" & oRS("Username") & "'," & _
" DateAdd('h', Now(), 7))"
Conn.Execute(strSql)
- forskellen er, at DateAdd-funktionen her er en del af SQL-strengen,
hvilket gør den ufølsom over for evt. sprog-forskelle mellem script og
db.
Men dit problem her er nok, at i stedet for at anvende et dato-tid
format til dit felt, så har du valgt at bruge tekst-format og så
tilføjet den "sjove" hale " er tilføjet."
Det synes jeg ikke er særligt hensigtsmæssigt, da du mister muligheden
for at bruge Sql til simple dato/tid-beregninger - og da det i øvrigt
er enklere blot at kode det i dit *output* fra db'en i stedet for i
dit *input*.
Blot min mening.
Good luck!
--
Jørn Andersen,
Brønshøj
| |
  Snoopy (30-07-2003)
 | Kommentar Fra : Snoopy |
Dato : 30-07-03 13:33 |
|
> Du skal bare erstatte "h" med 'h' - ellers opfattes det som om
> strengen bliver afbrudt.
med enkelte ' istedet for - udkommenterer den resten af sql sætningen
Hvad kan det være ?
>
> Jeg spurgte i et tidligere indlæg, om det ikke var smartere at bruge
> db'ens *egne* indbyggede funktioner:
>
> strSql = "INSERT INTO brugere (Username,time)" & _
> " VALUES ('" & oRS("Username") & "'," & _
> " DateAdd('h', Now(), 7))"
>
> Conn.Execute(strSql)
Jo, hvis det var gjort fra starten af - nu er det ret mange steder at rette
| |
Jens Gyldenkærne Cla~ (31-07-2003)
 | Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 31-07-03 22:25 |
|
Snoopy skrev:
[om at gemme datoer som datoer]
> Jo, hvis det var gjort fra starten af - nu er det ret mange
> steder at rette
Hvis det er den samme endelse ("er tilføjet") der er brugt på alle
poster, tager det ikke lang tid at ændre det. Du kan bruge søg og
erstat på feltet - husk at medtage mellemrummet før "er". Det kan
også gøres i en forespørgsel.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
|
|