08. maj 2008 - 11:18
Der er
15 kommentarer og 1 løsning
Klassisk DB problem
Hej Jeg har fået et klassisk database problem når jeg skal udskrive via Access og ASP. Den vender datoen om... Jeg har smidt <% Session.LCID = 1030 %> i toppen af hvert asp side, men når jeg skal skrive f.eks. 01-10-2008, så skriver den 10-01-2008.. Håber en kan hjælpe.. Her er koden som udskriver siden på skærmen.. <% Session.LCID = 1030 %> <center> <% Sub Tabel(Byref objRecordSet) Dim i Response.Write"<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=2 ALIGN=CENTER frame=below>" 'udskriv header( feltnavn) Response.Write "<tr bgColor=#CDC9C9>" For i = 0 to objRecordset.Fields.Count - 1 Response.Write "<td><font face=arial size=1><b>" & objRecordset.fields.item(i).name & "</b></font></td>" Next Response.Write "</tr>" 'udskriv krop (feltpost) j=0 Do While Not objRecordset.EOF select case weekday(objrecordset("Spilledato")) case 1 dage ="Søndag" case 2 dage ="Mandag" case 3 dage ="Tirsdag" case 4 dage ="Onsdag" case 5 dage ="Torsdag" case 6 dage ="Fredag" case 7 dage ="Lørdag" end select j=j+1 if(j mod 2)=0 then Response.Write "<tr bgColor=#F8F8FF>" else Response.Write "<tr bgColor=#E8E8E8>" End if 'response.write "<td>" & objRecordset("Id") & "</td>" response.write "<td>" & objRecordset("Person") & "</td>" 'response.write "<td>" & objRecordset("Spillested") & "</td>" response.write "<td>" & dage & "</td>" 'response.write "<td>" & objRecordset("Spilletid") & "</td>" response.write "<td>" & objRecordset("Spilledato") & "</td>" 'response.write "<td>" & objRecordset("Beskrivelse") & "</td>" response.write "<td><a href=sletpost.asp?ID=" & objRecordset("ID") & ">Slet</a></td>" objRecordset.MoveNext Response.Write "</tr>" Loop Response.Write "</table>" End Sub %> </center>
Annonceindlæg fra Hitachi
”Forskellighed gør os stærkere!”
Diversitet er ikke kun buzzwords og politisk korrekthed, men et spørgsmål om at alle føler sig godt tilpas og kan yde deres bedste.
31. januar 2025
Glemte at skrive, at i Access står datofeltet som . Kort datoformat og indputmasken er sat til "dd"-"mm"-"yyyy";;_
select case weekday(objrecordset("Spilledato")) case 1 dage ="Søndag" case 2 dage ="Mandag" case 3 dage ="Tirsdag" case 4 dage ="Onsdag" case 5 dage ="Torsdag" case 6 dage ="Fredag" case 7 dage ="Lørdag" end select Kan så gøre således: WeekdayName(weekday(objrecordset("Spilledato"))) .. bare en kommentar :P
solle>.. takker.. .. dvs. den ene sætning skal jeg bare sætte ind i stedet for alt det andet??
dage = WeekdayName(weekday(objrecordset("Spilledato"))) Har du prøvet at smide "objRecordset("Spilledato")" ind i en "CDate()"?? response.write "<td>" & CDate(objRecordset("Spilledato")) & "</td>"
Har lige prøvet det response.write "<td>" & CDate(objRecordset("Spilledato")) & "</td>" men den udskriver stadgivæk forkert...
Jeg har også bakset med det længe, indtil jeg fandt ud af, at jeg måtte bruge denne funktion, når jeg gemte en dato i databasen: function DBDate(sDate) DBDate=right("0"&month(sDate),2) &"-"& right("0"&day(sDate),2) &"-"& year(sDate) end function Så gemmer du datoen med: DBDate(datoen) Og det fungerer bare!
gæt nr. 2: session.LCID=1030 FormatDateTime(CDate(objRecordset("Spilledato")) ,2)
w13 ... må erkende jeg også selv benytter egen funktion til det pjat :P
w13.. Er lige lidt lost der.. hvordan vil du sætte det ind i min kode?
Jeg vil ikke indsætte det i den kode, for det bliver nødt til at blive indsat på den side, hvor man gemmer datoen. F.eks. sådan her i en SQL: "INSERT INTO table1 (dato) VALUES (#"&DBDate(01-10-2008)&"#)"
Der hvor jeg gemmer er siden her : <% @language=VBScript %> <% Session.LCID = 1030 %> <% set conn = Server.CreateObject("ADODB.Connection") conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("database.mdb") Person = request.form ("Person") Spilledato = request.form ("Spilledato") strSQL = "Insert into kalender(Person, Spilledato) values ('" & Person &"','" & Spilledato &"')" Conn.Execute(strSQL) conn.Close set conn = nothing response.redirect("tourdate.asp") %>
Præcis, så retter du: strSQL = "Insert into kalender(Person, Spilledato) values ('" & Person &"','" & Spilledato &"')" til: strSQL = "Insert into kalender(Person, Spilledato) values ('" & Person &"','" & DBDate(Spilledato) &"')"
Hov, vi skal også lige have funktionen ind, så ret det til: function DBDate(sDate) DBDate=right("0"&month(sDate),2) &"-"& right("0"&day(sDate),2) &"-"& year(sDate) end function strSQL = "Insert into kalender(Person, Spilledato) values ('" & Person &"','" & DBDate(Spilledato) &"')"
det kører jeg super.. 10000 tak.. :):)
hov.. det kører JO super :)
Kurser inden for grundlæggende programmering