Avatar billede staf Nybegynder
29. januar 2003 - 16:39 Der er 11 kommentarer og
1 løsning

generering af dato/tid

Hej!
Jeg har en access DB med flg. kolonner:
[dato]
[navn]
[kommentar]
Således en simpel gæstebog! Jeg har en form hvorfra jeg henter navn og kommentar!! Dette virker helt fint. Disse bliver sat ind i DB`en som de skal.
Jeg vil også gerne have dato på indlægende og har gjordt som nedenstående:

-----------------------------------------------------------------
<%@Language="JavaScript" %>
<%
var
  navn = "";
  kommentar ="";
  dato = "";

  navn = Request("navnn");
  kommentar = Request("skriv her");
  dato = Now;
 
sqlStatement = "insert into guesttabel values('"+dato+"' , '"+navn+"' , '"+kommentar+"' )";

osv. osv....
---------------------------------------------------------------------

"Jeg vil gerne have at dato-variablen indeholder eksakt tid/dato når dette ASP køres. Denne "eksakte" tid skal herefter indsættes i dato kolonnen i min tabel."

Det er det fremgangsmåde jeg forestiller mig, men kan ikke få det til at virke???

Jeg får flg. fejlmeddelelse:

"Microsoft JScript runtime  error '800a1391'
'Now' is undefined"

Hvorledes kan det være?? Datatypen i kolonnen har jeg PT bare sat til "text", ved godt det skal være "dato" (ell. hvad access nu kalder det). Men "text"-typen kan jo sagtens indeholde tal, så det er vel næppe problemet.

Please help! ;)
Avatar billede cesil Nybegynder
29. januar 2003 - 16:43 #1
Du blander javascript og asp.
Prøv:

<%
dim navn, kommentar,dato
  navn = ""
  kommentar =""
  dato = ""

  navn = Request("navnn");
  kommentar = Request("skriv her");
  dato = Now;
 
sqlStatement = "insert into guesttabel values('"+dato+"' , '"+navn+"' , '"+kommentar+"' )";
Avatar billede cesil Nybegynder
29. januar 2003 - 16:45 #2
Det skulle ha været et svar
Avatar billede humlebidk Nybegynder
29. januar 2003 - 17:04 #3
der blandes ikke asp og javascript. men kald det jscript istedet. jeg har ikke testet dette, men prøv:

<%@Language="JavaScript" %>
<%

var navn = "";
var kommentar ="";
var dato = "";

  navn = Request.form("navnn");
  kommentar = Request.form("skriv her");
  dato = now(); // prøv evt at bruge noget javascript getdate().
                // Javascript virker på almindeligvis i jscript 
 
sqlStatement = "insert into guesttabel values('"+dato+"' , '"+navn+"' , '"+kommentar+"' )";
Avatar billede humlebidk Nybegynder
29. januar 2003 - 17:04 #4
<%@Language="JScript" %>
even
Avatar billede staf Nybegynder
29. januar 2003 - 17:09 #5
Hmm....
nu har jeg skrevet flg.:
---------------------------------------------------------
<%                   
dim navn, kommentar, dato
    navn = ""
    kommentar =""           
    dato = ""
                         
        navn = Request("navnn")
        kommentar = Request("skriv her")
    dato = Now
   
sqlStatement = "INSERT INTO guesttabel(dato, navn, kommentar) VALUES('"+dato+"' , '"+navn+"' , '"+kommentar+"' )"
   
    ConOpenArg = ""                       
           
    Connection= Server.CreateObject("ADODB.connection")   
           
    ConOpenArg = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" + Server.MapPath("guestbook.mdb")   
           
    Connection.open(ConOpenArg)
   
    Connection.Execute(sqlStatement)       

    Response.redirect("++index2.html")     
   
    Connection.close()               
           
%>                         
---------------------------------------------------------------------

og får flg. fejl:

"Microsoft VBScript runtime  error '800a000d'
Type mismatch: '[string: "INSERT INTO guesttab"]' " 

hvad er der dermed galt?
p.s dato kolonnen har jeg prøvet at give flg. datatyper: text, dato/time, number. Og det giver samme fejlmeddelelse??
Avatar billede staf Nybegynder
29. januar 2003 - 17:11 #6
OK! >humlebidk

prøver lige dit forslag også :)

Melder lige tibage senere idag.
Avatar billede staf Nybegynder
29. januar 2003 - 17:26 #7
Har nu prøvet dette:
------------------------------------------------------------
<%@Language="JavaScript" %>
<%                   

    var navn = "";
    var kommentar ="";           
    var dato = "";
                         
        navn = Request("navnn")
        kommentar = Request("skriv her")
    dato = GetDate();
   
sqlStatement = "INSERT INTO guesttabel(dato, navn, kommentar) VALUES('"+dato+"' , '"+navn+"' , '"+kommentar+"' )"
   
    ConOpenArg = ""                       
           
    Connection= Server.CreateObject("ADODB.connection")   
           
    ConOpenArg = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" + Server.MapPath("guestbook.mdb")   
           
    Connection.open(ConOpenArg)
   
    Connection.Execute(sqlStatement)       

    Response.redirect("++index2.html")     
   
    Connection.close()               
           
%>         
--------------------------------------------------------------

Men får denn fejl:

"Microsoft JScript runtime  error '800a138f'
Object expected"                

rimelig irriterende :( har snart rodet med den dato i 3 dage!
Avatar billede staf Nybegynder
29. januar 2003 - 17:29 #8
p.s. jeg HAR afsluttet alle sætninger med " ; ".
Fik bare ikke tilføjet det i dette indlæg!

Har også prøvet at udelade " ; " i alle sætninger, men får samme fejl!

dato = Now(); giver også omtalte fejl ?
Avatar billede humlebidk Nybegynder
30. januar 2003 - 14:39 #9
<%@ LANGUAGE = "JScript" %>
<%


var nu=new Date()
var navn = "";
var kommentar ="";
var dato = "";

  navn = Request.form("navnn");
  kommentar = Request.form("skriv her");
  dato = nu.getDate()+""+nu.getMonth()+""+nu.getYear()+""+nu.getHours()+""+nu.getMinutes()+""+nu.getSeconds()
dato=nu.getTime()
// måned er 0 baseret. dvs. januar=0, dec=11. mao. pas på antallet af cifre.

%>

du kan fange måneder timer osv hver for sig. du skal bare vælge hvor mange oplysniger du har brug for.  ; er ligegyldigt her
Avatar billede staf Nybegynder
30. januar 2003 - 15:18 #10
Kanon nu virker det endelig ;) lækkert!

POINTENE ER DINE, men hvordan kan man evt. sætte 0=Januar, 1=februar osv. osv ?
Avatar billede humlebidk Nybegynder
30. januar 2003 - 17:56 #11
måneder er i forevejen sat så januar er måned 0.. dit spm må være hvudden man sætter jan =01 og feb =02 og dec =12.

if(nu.getMonth()<10) { maaned="0"+nu.getMonth()+1 }
else { maaned=nu.getMonth()+1 }
Avatar billede staf Nybegynder
30. januar 2003 - 18:06 #12
takker :)
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