Avatar billede moore Nybegynder
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>
Avatar billede moore Nybegynder
08. maj 2008 - 11:20 #1
Glemte at skrive, at i Access står datofeltet som . Kort datoformat og indputmasken er sat til "dd"-"mm"-"yyyy";;_
Avatar billede solle Nybegynder
08. maj 2008 - 11:34 #2
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
Avatar billede moore Nybegynder
08. maj 2008 - 11:38 #3
solle>.. takker.. .. dvs. den ene sætning skal jeg bare sætte ind i stedet for alt det andet??
Avatar billede solle Nybegynder
08. maj 2008 - 11:41 #4
dage = WeekdayName(weekday(objrecordset("Spilledato")))


Har du prøvet at smide "objRecordset("Spilledato")" ind i en "CDate()"??

response.write "<td>" & CDate(objRecordset("Spilledato")) & "</td>"
Avatar billede moore Nybegynder
08. maj 2008 - 11:45 #5
Har lige prøvet det

response.write "<td>" & CDate(objRecordset("Spilledato")) & "</td>"

men den udskriver stadgivæk forkert...
Avatar billede w13 Novice
08. maj 2008 - 11:47 #6
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!
Avatar billede solle Nybegynder
08. maj 2008 - 11:48 #7
gæt nr. 2:

session.LCID=1030
FormatDateTime(CDate(objRecordset("Spilledato")) ,2)
Avatar billede solle Nybegynder
08. maj 2008 - 11:50 #8
w13 ... må erkende jeg også selv benytter egen funktion til det pjat :P
Avatar billede moore Nybegynder
08. maj 2008 - 11:51 #9
w13..
Er lige lidt lost der.. hvordan vil du sætte det ind i min kode?
Avatar billede w13 Novice
08. maj 2008 - 11:54 #10
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)&"#)"
Avatar billede moore Nybegynder
08. maj 2008 - 11:57 #11
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")
%>
Avatar billede w13 Novice
08. maj 2008 - 11:59 #12
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) &"')"
Avatar billede w13 Novice
08. maj 2008 - 11:59 #13
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) &"')"
Avatar billede moore Nybegynder
08. maj 2008 - 12:02 #14
det kører jeg super..
10000 tak.. :):)
Avatar billede moore Nybegynder
08. maj 2008 - 12:03 #15
hov.. det kører JO super :)
Avatar billede w13 Novice
08. maj 2008 - 12:33 #16
;) Og tak for point!
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