Avatar billede barwhi Nybegynder
26. november 2001 - 21:56 Der er 13 kommentarer og
1 løsning

Access, ASP & dato

Hej alle I ASP-hajer!

Jeg har nu siddet og læst en hel del indlæg her, men har ikke kunnet finde et svar. Så jeg har følt mig nødsaget til at stille mit eget spørgsmål.

Sagen er den, at jeg har brug for at få lavet et timestamp i min database-record (det er en guestbook), og jeg kan simpelthen ikke få lov til at skrive til databasen???

Hvad skal jeg stille op?

Min SQL ser således ud:

SQLstring = \"INSERT INTO guestbook (name,email,message,timestamp) VALUES (\'\"+Request(\"name\")+\"\',\'\"+Request(\"email\")+\"\',\'\"+Request(\"message\")+\"\',\"+Now()+\")\"


På forhånd tak!
Avatar billede nute Nybegynder
26. november 2001 - 21:57 #1
prøv med:

SQLstring = \"INSERT INTO guestbook (name,email,message,timestamp) VALUES (\'\"+Request(\"name\")+\"\',\'\"+Request(\"email\")+\"\',\'\"+Request(\"message\")+\"\',#\"+Now()+\"#)\"

du er nødt til å sette dato mellom ## for at MS skal gjenkjenne verdien som dato

/nute
Avatar billede barwhi Nybegynder
26. november 2001 - 22:01 #2
Det gav mig fejlen:

Type mismatch: \'[string: \"INSERT INTO guestboo\"]\'

..og feltet er af typen Date/time
Avatar billede nute Nybegynder
26. november 2001 - 22:04 #3
skriv din SQL ut istedenfor å eksekver den...hvordan ser den ut ?
Avatar billede bobbedude Nybegynder
26. november 2001 - 22:07 #4
lav et hidden field i din form eks.

<input type=\"hidden\" name=\"timestamp\" value=\"<%=FormatDateTime(Date, 2)%>\">

Din SQL kunne se sådan ud:

connect.execute(\"INSERT INTO guestbook (name,email,message,timestamp) VALUES(\'\" & request.form(\"name\") & \"\',\'\" & request.form(\"email\") & \"\',\'\" & request.form(\"message\") & \"\',\'\" & request.form(\"timestamp\") & \"\')\")

Vil du have datoen formateret kan du sætte dette i toppen af din side:

<%
Session.LCID = 1030
%>
Avatar billede nute Nybegynder
26. november 2001 - 22:11 #5
bobbedude >> det er *ingen* forskjell på om datoen blir hentet inn via request, eller om den hentes direkte fra serveren ved eksekvering.

hvorfor fjerner du hans konkatineringer ved å sette & istedenfor + ??
Avatar billede bobbedude Nybegynder
26. november 2001 - 22:12 #6
Jeg viser bare hvordan jeg ville prøve...
Avatar billede barwhi Nybegynder
26. november 2001 - 22:12 #7
Sagen er jo den, at det vil være lækrest, at et timestamp er fra når beskeden er indsat i databasen, og ikke når beskeden påbegyndes.

...men naturligvis er det en mulighed
Avatar billede nute Nybegynder
26. november 2001 - 22:16 #8
barwhi >> du svarer ikke på mitt spørsmål @ 26/11 2001 22:04:25...
Avatar billede barwhi Nybegynder
26. november 2001 - 22:18 #9
Det virker heller ikke, den melder om fejl ved \"Timestamp\"...

Jeg må nok hellere forsøge at lave den forfra - dammit!
Avatar billede bobbedude Nybegynder
26. november 2001 - 22:20 #10
ahm hus lige at checke hvilket format og indputmaske du har valgt dato skal være i din db.
Avatar billede nute Nybegynder
26. november 2001 - 22:20 #11
ahhh....timestamp er et reservert ord i SQL verden...det kan hjelpe å sette klammer rundt kolonnenavnet. prøv denne:

SQLstring = \"INSERT INTO guestbook (name,email,message,[timestamp]) VALUES (\'\"+Request(\"name\")+\"\',\'\"+Request(\"email\")+\"\',\'\"+Request(\"message\")+\"\',\"+Now()+\")\"

men det absolutt peneste ville være å skifte navn på din kolonne...

/nute
Avatar billede barwhi Nybegynder
26. november 2001 - 22:24 #12
Tak Nute!

Jeg har ikke fået det til at virke endnu, men du får dine points alligevel, som tak for den hurtige og kompetente hjælp.

Jeg nørkler videre med det i morgen, for jeg orker ikke mere i aften. Der må være noget galt med min database...

barwhi
Avatar billede nute Nybegynder
26. november 2001 - 22:28 #13
takker... :)

det er aldri noe galt med databasen...du skal huske på at det er deg selv som har bygget den, så å si det er noe galt med databasen vil være å si at det er noe galt med deg ;-)

hvis du stadig ikke kan få det til å fungere, så poster du bare en melding her, så skal vi nok få hjulpet deg...
Avatar billede barwhi Nybegynder
27. november 2001 - 09:13 #14
Så er problemet løst!

Det viste sig, at der ikke skulle nogen tegn foran NOW(), hvorfor query\'en kom til at se således ud:

\"INSERT INTO guestbook (name,email,message,[timestamp]) VALUES (\'\"+Request(\"name\")+\"\',\'\"+Request(\"email\")+\"\',\'\"+Request(\"message\")+\"\',Now())\"

Men du havde tilsyneladende ret: \"Timestamp\" er vidst et reserveret ord i Access så det hjalp med \"[]\".

Tak for hjælpen, endnu en gang!

barwhi
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