Avatar billede justdoit Nybegynder
02. august 2002 - 15:01 Der er 18 kommentarer og
1 løsning

Opret dato og klok til nyhed

Når jeg opretter en nyhed som bliver skrevet til databasen, vil jeg gerne have dato fx(22/07/2002) og klokkeslet fx(10.49) - som man kan se hvornår nyheden er skrevet.

Hvordan gør jeg det??
Avatar billede coltau Juniormester
02. august 2002 - 15:06 #1
Du skal tilføje et felt i tabellen af typen dato/klokkeslet og i SQL-sætningen indsættes dags dato i feltet sammen med nyheden.

Session.LCID = 1033
strDate = Now ' Gem dato/tid i engelsk format
Session.LCID = 1033 ' Vælg evt. dansk igen

Så skal SQL-sætningen udvides
Avatar billede justdoit Nybegynder
02. august 2002 - 15:12 #2
Ok jeg har nu lavet et felt i databasen der heller dato, men hvordan ligger jeg dato og klokkeslet ind fx. her:

<table width="170" border="0" cellspacing="0" cellpadding="0">
                                      <tr>
                                        <td class="nyheder">
                                          <div align="right">Her skal dato og klok stå???</div>
                                        </td>
                                      </tr>
                                    </table>
Avatar billede hien Nybegynder
02. august 2002 - 15:17 #3
<table width="170" border="0" cellspacing="0" cellpadding="0">
                                      <tr>
                                        <td class="nyheder">
                                          <div align="right"><%=Date%><div>
                                        </td>
                                      </tr>
                                    </table>
Avatar billede coltau Juniormester
02. august 2002 - 15:20 #4
Når du udskriver nedenstående har du vel fat i en post fra tabellen. ?

table width="170" border="0" cellspacing="0" cellpadding="0">
                                      <tr>
                                        <td class="nyheder">
                                          <div align="right"><%RS("Dato")%></div>
                                        </td>
                                      </tr>
                                    </table>
Avatar billede justdoit Nybegynder
02. august 2002 - 15:52 #5
Jeg har sat det ind: <%RS("dato")%> men jeg får en fejl der siger:

Der opstod en Microsoft VBScript-kørselsfejl fejl '800a01b6'
Objektet understøtter ikke denne egenskab eller metode
/tab2/nyheder.asp, linje 151

Ved du hved det betyder?? Der er data i alle felterne..
Avatar billede justdoit Nybegynder
02. august 2002 - 16:34 #6
Kan du ikke finde fejlen?
Avatar billede coltau Juniormester
02. august 2002 - 16:42 #7
Jo - Du har ikke fat i en post fra databasen når du udskriver linierne.
Avatar billede justdoit Nybegynder
02. august 2002 - 16:45 #8
Ok - hvordan får jeg klokkeslet på også ??
Avatar billede coltau Juniormester
02. august 2002 - 16:49 #9
Nu er jeg slet ikke med. ?

Hvis du blot skal udskriv tiden her og nu så er det på denne måde.

table width="170" border="0" cellspacing="0" cellpadding="0">
                                      <tr>
                                        <td class="nyheder">
                                          <div align="right"><%=Now%><div>
                                        </td>
                                      </tr>
                                    </table>

MEN - hvis du skal gemme tidspunktet sammen med nyheden og vise den igen skal linierne se således ud:

table width="170" border="0" cellspacing="0" cellpadding="0">
                                      <tr>
                                        <td class="nyheder">
                                          <div align="right"><%=RS("Dato")%><div>
                                        </td>
                                      </tr>
                                    </table>

Men det kan du kun hvis du har fundet posten frem i recordsettet (RS) med en SQL-sætning.
Avatar billede pfp Nybegynder
02. august 2002 - 16:52 #10
justdoit: Du kan ikke bruge <%RS("dato")%> uden Response.Write

Så du skal bruge en af nedenstående i stedet for:

<%
Response.Write rs("Dato")
%>

eller

<%=rs("Dato")%>

Håber det var hvad du mente?

/peter
Avatar billede justdoit Nybegynder
02. august 2002 - 17:01 #11
Det forstår jeg altså ikke, den skriver fejl når jeg skriver <%=RS("Dato")%>

Er der fejl i disse??

<%

Dim strConnect, Rs
' ---------------- skaber forbindelse til database med Rs
Set Rs = Server.CreateObject("ADODB.Connection")
Rs.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("../tab2/db/database.mdb")

' ---------------- SQL sætning der henter alt fra bruger
sql = "SELECT dato, overskrift, tekst FROM nyheder ORDER by dato"


' ---------------- Opretter et recordset = objRec
Set objRec = Server.CreateObject("ADODB.Recordset")


' ----------------- recordset åbner databse ved hjælp af Rs og "kører" SQL sætning
objRec.open sql, Rs

%>

<%
' ----------------- Mens recordsettet ikke ved slutningen...

While NOT objRec.EOF

' ----------------- Udskriv data fra bruger
%>
Avatar billede coltau Juniormester
02. august 2002 - 17:05 #12
Dit recordset hedder ikke RS men objRec

Så det skal være:

<%=objRec("Dato")%>
Avatar billede justdoit Nybegynder
02. august 2002 - 17:30 #13
Det har jeg rettet nu og den udskriver fint datoerne, men kun hvis jeg selv skriver datoerne i db - hvordan får jeg den til selv at skrive det??
Avatar billede coltau Juniormester
02. august 2002 - 17:39 #14
I den SQL-sætning der indsætter nyheden. Den skal udvides med et felt mere nemlig dato = Now
Avatar billede justdoit Nybegynder
02. august 2002 - 17:45 #15
Skal <%=objRec("Dato")%> se sådan ud <%=objRec("Dato = Now")%> ???
Avatar billede coltau Juniormester
02. august 2002 - 17:54 #16
Nej slet ikke. Det er et andet sted i koden det skal gøres.

Det er der hvor nyheden bliver skrevet til databasen. Noget i denne stil.

SQL = "insert into osv ..."
Avatar billede justdoit Nybegynder
02. august 2002 - 18:03 #17
Ok tusind tak, så virker det..

Lige det sidste: Kan jeg få klok til at stå uden sekunder?
Avatar billede coltau Juniormester
02. august 2002 - 19:54 #18
Så skal du selv formatere datoen før du udskriver den.

<%strDate = Day(RS("Dato")) & "-" & Month(RS("Dato")) & "-" & Year(RS("Dato"))%>

table width="170" border="0" cellspacing="0" cellpadding="0">
                                      <tr>
                                        <td class="nyheder">
                                          <div align="right"><%=strDate%><div>
                                        </td>
                                      </tr>
                                    </table>
Avatar billede justdoit Nybegynder
03. august 2002 - 14:04 #19
Mange tak!
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