Avatar billede Slettet bruger
07. september 2006 - 13:55 Der er 12 kommentarer

Smide dato i database via new Date()

Hej - til min kalender skal jeg ha' smidt en dato i min database via new Date().

Jeg har 3 felter (dag, måned, år):
dato_d = request.form("dato_d")
dato_m = request.form("dato_m")
dato_y = request.form("dato_y")


Hvordan gør jeg det? Formatet skal være dd-mm-yyyy.

Tak for hjælpen!
Avatar billede hossein Nybegynder
07. september 2006 - 14:20 #1
vil du indsætte dem i et tabel? hvis ja, så skal du sætte dem ved siden af hinanden:

dim mindato
mindato = dato_d & "-" & dato_m & "-" & dato_y
Avatar billede Slettet bruger
07. september 2006 - 14:24 #2
Ja, men det skal være en datovariabel - ikke en streng ala dd-mm-yyyy

Det skal være med new Date ()
Avatar billede hossein Nybegynder
07. september 2006 - 14:37 #3
så prøve med at konvertere den til date, brug:
mindato =CDate(mindato)
Avatar billede Slettet bruger
07. september 2006 - 14:48 #4
Det virker ikke - problemet er at eks. 07-09-2006 (i dag) bliver til "09-07-2006" i databasen... Derfor skal den tvinges til at æde det rigtige format...
Avatar billede hossein Nybegynder
07. september 2006 - 14:52 #5
ok, du bruger msaccess, det er en bug i access, send din dato med formattet:
yyyy-mm-dd.
Avatar billede Slettet bruger
07. september 2006 - 14:58 #6
Access ja, - hmm synes ikke det gør nogen forskel:

dato_d = request.form("dato_d")
dato_m = request.form("dato_m")
dato_y = request.form("dato_y")

dato = "" & dato_y & "-" & dato_m & "-" & dato_d & ""
   
eventdato = CDate(dato)

RS("databasedato") = eventdato
Avatar billede Slettet bruger
07. september 2006 - 15:03 #7
eller rettere... jeg submitter "07-09-2006" - det står _i_ databasen som "07-09-2006" men kommer ud som "09-07-2006"...
Avatar billede hossein Nybegynder
07. september 2006 - 15:21 #8
har du prøvet denne format: yyyy-mm-dd?
Avatar billede hossein Nybegynder
07. september 2006 - 15:37 #9
put den i toppen af din sidde hvis du ikke alleredde har:

<%session.LCID = 1030%>
Avatar billede Slettet bruger
07. september 2006 - 17:30 #10
Ja, har prøvet også med <%session.LCID = 1030%>

Min sql ser sådan ud:

SQL = "SELECT * FROM kalender,brugere where frabrugerid=brugerid AND databasedato = #" & dato & "# ORDER BY event_tidspunkt asc;"

09-09-2006 virker fint. Men 07-09-2006 henter ikke det i databasen med datoen "07-09-2006". Det gør til gengæld "09-07-2006" :-s
Avatar billede hossein Nybegynder
07. september 2006 - 18:09 #11
prøv og se om virker det vha. denne funktion, husk at tilpasse db navn eller felt navne:

Function AccessDate(dateandtime)
Dim iDay
Dim iMonth
Dim iYear

iDay = Day(dateandtime)
If Len(iDay)=1 Then iDay=0 & iDay

iMonth = Month(dateandtime)
If Len(iMonth)=1 Then iMonth=0 & iMonth

iYear = Year(dateandtime)

AccessDate = iYear & "-" & iMonth & "-" & iDay
End Function

Dim connection
Dim SQL, sConnString

SQL="INSERT INTO tblTest (dDate) VALUES (#" & AccessDate(NOW()) & "#)"

sConnString="PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("Test.mdb")

Set connection = Server.CreateObject("ADODB.Connection")
connection.Open(sConnString)
connection.execute(SQL)
Connection.Close
Set Connection = Nothing
%>


Select delen:

<%
Dim connection, recordset
Dim SQL, sConnString, dDate

SQL="SELECT dDate FROM tblTest WHERE dDate=#" & Date() & "#"

sConnString="PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("Test.mdb")

Set connection = Server.CreateObject("ADODB.Connection")
Set recordset = Server.CreateObject("ADODB.Recordset")
connection.Open(sConnString)
recordset.Open SQL, connection
If Not recordset.Eof Then
Do While Not recordset.Eof
dDate=recordset("dDate")
Response.write dDate & "<br />"
recordset.movenext
Loop
Else
Response.write "No match."
End If

Recordset.Close
Set Recordset = Nothing
Connection.Close
Set Connection = Nothing
%>

håber det hjælper!
Avatar billede Slettet bruger
07. oktober 2008 - 11:51 #12
Svarer du for point? Beklager jeg ikke fik fulgt mere op på det. Prøver at rydde lidt op i mine spørgsmål :-)
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