Avatar billede pfp Nybegynder
16. februar 2003 - 13:30 Der er 20 kommentarer og
1 løsning

ASP-dato og mySQL...

Hej,

Når jeg indsætter Now() i en Access database gør jeg normalt således:

datoVar = "#" & Now() & "#"

Men nu hvor jeg leger lidt med mySQL virker det ikke. Hvad skal jeg skrive for at få Now() ind i min tabel. Og hvilken type skal feltet i databasen i øvrigt have...pt. står den til DATETIME, men jeg ved ikke om det er rigtigt.

/pfp
Avatar billede tuctoh Nybegynder
16. februar 2003 - 13:31 #1
SQL = "INSERT INTO tabel (datofelt) VALUES (getDate())"

om getDate() skal være Now() eller bare Date() i stedet kommer lidt an på databasen - prøv dig frem.

datetime er fint nok
Avatar billede pfp Nybegynder
16. februar 2003 - 13:33 #2
Hvis jeg bruger getDate() får jeg:

Type mismatch: 'getDate'
Avatar billede pfp Nybegynder
16. februar 2003 - 13:36 #3
Hvis jeg skriver Date() får jeg ingen fejl, men så bliver indholdet i min tabel bare:

0000-00-00 00:00:00
Avatar billede klid Nybegynder
16. februar 2003 - 14:57 #4
Lav en variabel i asp fx dato. Skriv så
Dato = now
og få den med i din sql overførelse
Avatar billede pfp Nybegynder
16. februar 2003 - 15:14 #5
klid -> Det virker heller ikke. Så skriver den at der er fejl omkring 15:08:37 PM.

Hvis jeg bruger Date() i en variabel og så sætter værdien lig min variabel så får jeg nu følgende output:
2000-00-01 00:00:00

Samlet ser min kode således ud:
dato = Date()
SQL = "INSERT INTO Forhandlere (Forhandler, ForhandlerID, Adgangskode, Oprettet)"
SQL = SQL & " VALUES ("
SQL = SQL & "'" & Request.Form("Forhandler") & "', "
SQL = SQL & "'" & Request.Form("ForhandlerID") & "', "
SQL = SQL & "'" & Request.Form("Adgangskode") & "',"
SQL = SQL & dato
SQL = SQL & ")"
Conn.Execute(SQL)
Response.Redirect("Meddelser.asp?info=08")

Hvad dælen er der galt?
Avatar billede medions Nybegynder
16. februar 2003 - 15:23 #6
Det er fordi du i MySQL skal bruge CURDATE()!
fx:

SQL = "INSERT INTO Forhandlere (Forhandler, ForhandlerID, Adgangskode, Oprettet)"
SQL = SQL & " VALUES ("
SQL = SQL & "'" & Request.Form("Forhandler") & "', "
SQL = SQL & "'" & Request.Form("ForhandlerID") & "', "
SQL = SQL & "'" & Request.Form("Adgangskode") & "',"
SQL = SQL & CURDATE()
SQL = SQL & ")"


//>Rune
Avatar billede pfp Nybegynder
16. februar 2003 - 15:31 #7
Rune ->
Type mismatch: 'CURDATE' ??
Avatar billede pfp Nybegynder
16. februar 2003 - 15:31 #8
Er det fordi jeg skal vælge en anden type til feltet. F.eks. bare DATE istedet for DATETIME?
Avatar billede medions Nybegynder
16. februar 2003 - 15:33 #9
pfp> Er dit felt i databasen oxo af datatypen date?

//>Rune
Avatar billede medions Nybegynder
16. februar 2003 - 15:33 #10
;o)
Avatar billede pfp Nybegynder
16. februar 2003 - 15:34 #11
Jeg har forsøgt både med datatype DATE og DATETIME, begge giver mig fejlen:
Type mismatch: 'CURDATE'
Avatar billede medions Nybegynder
16. februar 2003 - 15:36 #12
Hov, jeg undskylder! *G*

SQL = "INSERT INTO Forhandlere (Forhandler, ForhandlerID, Adgangskode, Oprettet)"
SQL = SQL & " VALUES ("
SQL = SQL & "'" & Request.Form("Forhandler") & "', "
SQL = SQL & "'" & Request.Form("ForhandlerID") & "', "
SQL = SQL & "'" & Request.Form("Adgangskode") & "',CURDATE())"

og så skal dit felt var af typen Date!

//>Rune
Avatar billede oasen Nybegynder
16. februar 2003 - 15:50 #13
Jeg plejer bare at gøre sådan, og det virker i hvertfald fint.

Dato = Year(Date) & "-" & Month(Date) & "-" & Day(Date) & " " & Time
Insert Into tabel (felt) Values ('" & Dato & "')
Avatar billede pfp Nybegynder
16. februar 2003 - 15:53 #14
medions -> Tak. Det var det der skulle til.

Kan jeg formatere det FormatDateTime som jeg plejer med en Date() eller Now().

Jeg ville yderligere være meget taknemlig hvis nogen kan henvise til noget dokumentation eller mySQL begynder artikler.

Jeg just i går skiftet fra Access til mySQL, så der går nok lige lidt tid inden jeg er på hjemmebane i det.

Tak for hjælpen.

Venligst,
Peter F. Poulsen
Avatar billede medions Nybegynder
16. februar 2003 - 15:55 #15
www.mysql.com -der stå alt hvad du har brug for!

//>Rune
Avatar billede medions Nybegynder
16. februar 2003 - 15:58 #16
Thx 4 Poinz

//>Rune
Avatar billede pfp Nybegynder
16. februar 2003 - 16:07 #17
Det var så lidt.

Jeg har kigget lidt på dokumentationen fra mysql.com, men jeg forstår bl.a. ikke rigtigt dens DELETE funktion. Jeg troede egentlig ikke der ville være noget forskel på SQL'en ved skift fra Access til mySQL.

Jeg har f.eks. følgende til at slette en post:
SQL = "DELETE * FROM Produkter WHERE ProduktID=" & Request.QueryString("ProduktID")

Men det giver mig følgende fejl:
[TCX][MyODBC]You have an error in your SQL syntax near '* FROM Produkter WHERE ProduktID=1' at line 1

PS. Skriv lige hvis jeg skal oprette et nyt spørgsmål til dette istedet.
Avatar billede oasen Nybegynder
16. februar 2003 - 16:14 #18
SQL = "DELETE FROM Produkter WHERE ProduktID=" & Request.QueryString("ProduktID")

Uden stjerne!!
Avatar billede pfp Nybegynder
16. februar 2003 - 16:34 #19
oasen -> Okay, er det noget specielt for mySQL?
Avatar billede pfp Nybegynder
16. februar 2003 - 16:35 #20
oasen -> Og tak for det forresten! :-)
Avatar billede oasen Nybegynder
16. februar 2003 - 19:13 #21
Jeg ved ikke, om det er lige sådan i MS SQL og de øvrige databaser...
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