Avatar billede ASPAmatoer16 Nybegynder
07. juli 2010 - 20:33 Der er 9 kommentarer og
1 løsning

INSERT INTO problem (DateTime) MySQL / ASP

Hej eksperter.

Jeg har før brugt denne kode til en "UPDATE blabla SET blabla = blabla" hvilket virkede uden problemer.

Jeg regnede med, at det ville være det rene barnemad "bare", at indsætte koden i en INSERT INTO streng - men her melder den fejl.
Koden er:

<%
t = Now()
t = DateAdd("n", 5, t)
strNow = Year(t) & "-" & Month(t) & "-" & Day (t) & " " & Hour(t) & ":" & Minute(t) & ":" & Second(t)
%>

Altså, jeg konverter tiden til DATETIME formatet...
Men.. Når jeg prøver på, at indsætte denne i en INSERT streng som ser sådan her ud:

<%
strSQL = "INSERT INTO enhedcolosseum(tidny,tidalt) VALUES("& strNow &",1)"
net.execute(strSQL)
%>
(alt unødvendige (det der virker) er klippet ud af koden)..

Jeg er ikke sikker på hvad der er galt - men det ser lidt ud som om, at formatet bliver ødelagt..
Ment på den måde, at hvis jeg skriver koden ud som tekst: (response.write ""& strNow &"")

Så ender det med: YY-M-D HH:MM:SS
Altså, den skriver ikke det forreste 0 foran måneden som i 07 (juli)..

Nogen foreslag til hvordan dette kan redigeres så det kan fungere??
På forhånd tak.

- ASPAmatoer16
Avatar billede claes57 Ekspert
07. juli 2010 - 20:40 #1
asp har ofte det lettere med datoer på 'læsbart/unikt format' dvs uden mulighed for at bytte om på år/md/dg
Prøv med 2010-jul-07 (= i dag) så burde det virke.
Avatar billede arne_v Ekspert
07. juli 2010 - 20:42 #2
hvis du erstatter

Month(t)

med

Right("0" & Month(t),2)

saa boer du faa 0 foran maaned.
Avatar billede ASPAmatoer16 Nybegynder
07. juli 2010 - 21:02 #3
Claes - Så vil jeg ikke kunne benytter Datediff og andre matematiske beregner senere hen i systemet??

Arne_v - jeg har prøvet, at skrive din kode hvilket også virker med hensyn til, at placere et 0 foran diverse ting.

Koden er her:

t = now()
strNow = Year(t) & "-" & Right("0" & Month(t),2) & "-" & Right("0" & Day(t),2) & " " & Right("0" & Hour(t),2) & ":" & Right("0" & Minute(t),2) & ":" & Right("0" & Second(t),2)

Dog melder min browser stadig fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[MySQL][ODBC 3.51 Driver][mysqld-5.0.77-log]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '20:59:24,1,)' at line 1

/Game/Building/Worktasks/MakeUnits/Gladius.asp, line 116

Nogen foreslag til hvad en fejl eventuelt ellers kunne være? :s
Avatar billede arne_v Ekspert
07. juli 2010 - 21:39 #4
Proev og udskriv hele SQL saetningen.
Avatar billede ASPAmatoer16 Nybegynder
07. juli 2010 - 21:45 #5
<%
byid = Request.Querystring("village")
enhed = 2
antal = Request.Querystring("UpdateGeografic")
t = now()
tidny = Year(t) & "-" & Right("0" & Month(t),2) & "-" & Right("0" & Day(t),2) & " " & Right("0" & Hour(t),2) & ":" & Right("0" & Minute(t),2) & ":" & Right("0" & Second(t),2)
trae = 40
sten = 30
jern = 60
nrby = VHenter("enhedcolosseum") + 1
%>

<% response.Write ""& antal &""%><br>
<% response.Write ""& tidny &""%>

<%
strSQL = "INSERT INTO enhedcolosseum(byid,enhed,antal,tidny,tidalt,trae,sten,jern,nrby) VALUES("& byid &","& enhed &","& antal &","& tidny &",1,"& trae &","& sten &","& jern &","& nrby &")"
net.execute(strSQL)
%>
Avatar billede arne_v Ekspert
07. juli 2010 - 21:52 #6
Kan du putte en:

response.write strsql

ind og poste hvad den?
Avatar billede ASPAmatoer16 Nybegynder
07. juli 2010 - 21:56 #7
INSERT INTO enhedcolosseum(byid,enhed,antal,tidny,tidalt,trae,sten,jern,nrby) VALUES(1,2,44,2010-07-07 21:55:11,1,40,30,60,1)

EDIT - Unødvendige slettet:

INSERT INTO enhedcolosseum(tidny,tidalt) VALUES(2010-07-07 21:55:11,1)


Som du kan se ser det hele da rigtigt nok ud?
Avatar billede arne_v Ekspert
07. juli 2010 - 22:07 #8
proev med dapper omkring tiden

INSERT INTO enhedcolosseum(tidny,tidalt) VALUES('2010-07-07 21:55:11',1)
Avatar billede ASPAmatoer16 Nybegynder
07. juli 2010 - 22:10 #9
Smid et svar og få point!

Tusinde tak for den hurtige hjælp!
Avatar billede arne_v Ekspert
07. juli 2010 - 22:16 #10
svar
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
Computerworld tilbyder specialiserede kurser i database-management

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