Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    inserire orario e data nel database mdb

    salve,
    sono in crisi, ho praticamente finito il mio primo sito internet...a meno della pagina dei commenti. Non sono molto esperto, ma ho capito abbastanza bene il linguaggio html e css. Per la parte dei commenti ho scaricato da html.it delle pagine asp già fatte da qualcuno che conosce il linguaggio, pensavo che sarei riuscito a modificarlo facilmente...
    mi interessa solo aggiungere data e ora ai commenti, potete aiutarmi a capire dove sbaglio?

    questo è l'originale:



    <%
    Sub Commenti(Pagina)

    strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("mdb-database/comments.mdb")
    set conn = Server.CreateObject("ADODB.Connection")
    conn.Open strConn

    'Inserimento nuovo commento
    If Len(Request.Form("nome"))>3 and Len(Request.Form("commento"))>5 then
    conn.Execute "INSERT INTO commenti (nome, commento, pagina, IP) VALUES (" & _
    "'" & Replace(Request.Form("nome"), "'", "''") & "', " & _
    "'" & Replace(Request.Form("commento"), "'", "''") & "', " & _
    "'" & Replace(Request.Form("pagina"), "'", "''") & "', " & _
    "'" & Request.ServerVariables("REMOTE_ADDR") & "')"
    Response.Write ("

    de reactie is geplaatst</p>")
    end if

    Response.Write("<h3>Reacties</h3>")

    ' estrai record
    set rs = Conn.Execute("SELECT nome, commento FROM commenti WHERE Pagina = '" & Replace(pagina, "'", "''") & "'")

    ' non ci sono record
    if rs.Eof then Response.Write("

    er zijn nog geen reacties</p>")

    ' ciclo su tutti i record
    do until rs.eof
    Response.Write("

    " & Server.HtmlEncode(rs("nome")) & ":
    ")
    Response.Write(Server.HtmlEncode(rs("commento")) & "</p>")
    rs.moveNext
    loop

    %>
    <h3>plaats je bericht</h3>

    <form method="post">
    <input type="hidden" name="pagina" value="<%=pagina%>">
    Naam: <input type="text" name="nome" >

    Reactie: <textarea name="commento" cols="30" rows="5"></textarea>

    <input type="submit" value="plaats">
    </form>



    </p>

    <%
    conn.Close
    set conn = Nothing

    End Sub
    %>





    e questo invece presenta le modifiche che ho fatto io:

    <%
    Sub Commenti(Pagina)

    strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("mdb-database/comments.mdb")
    set conn = Server.CreateObject("ADODB.Connection")
    conn.Open strConn

    'Inserimento nuovo commento
    If Len(Request.Form("nome"))>3 and Len(Request.Form("commento"))>5 then
    conn.Execute "INSERT INTO commenti (nome, commento, pagina, IP, time) VALUES (" & _
    "'" & Replace(Request.Form("nome"), "'", "''") & "', " & _
    "'" & Replace(Request.Form("commento"), "'", "''") & "', " & _
    "'" & Replace(Request.Form("pagina"), "'", "''") & "', " & _
    "'" & Request.ServerVariables("REMOTE_ADDR") & "', " & _
    "'" & Replace(Request.Form("time"), "'", "''") & "')"
    Response.Write ("

    de reactie is geplaatst</p>")
    end if

    Response.Write("<h3>Reacties</h3>")

    ' estrai record
    set rs = Conn.Execute("SELECT nome, commento FROM commenti WHERE Pagina = '" & Replace(pagina, "'", "''") & "'")

    ' non ci sono record
    if rs.Eof then Response.Write("

    er zijn nog geen reacties</p>")

    ' ciclo su tutti i record
    do until rs.eof
    Response.Write("

    " & Server.HtmlEncode(rs("nome")) & ":
    ")
    Response.Write(Server.HtmlEncode(rs("commento")) & "</p> <hr />")
    rs.moveNext
    loop

    %>
    <h3>plaats je bericht</h3>

    <form method="post">
    <input type="hidden" name="pagina" value="<%=pagina%>">
    Naam: <input type="text" name="nome" >


    Reactie: <textarea name="commento" cols="30" rows="5"></textarea>
    <input type="hidden" name="time" value="<%=now%>">

    <input type="submit" value="plaats">
    </form>



    </p>

    <%
    conn.Close
    set conn = Nothing

    End Sub
    %>



    so che non si può improvvisare, ma con html e css non penso si riesca a fare un form per i commenti. Prenderò al più presto il linguaggio asp per mano e lo studierò, appena avrò un po di tempo!
    ringrazio intanto chi mi fare capire l'errore!

  2. #2
    Utente di HTML.it L'avatar di lucalicc
    Registrato dal
    Sep 2002
    Messaggi
    6,926
    che tipo di errore ti da?
    io cambierei questa riga
    "'" & Replace(Request.Form("time"), "'", "''") & "')"
    con questa
    "'" & now() & "')"
    Il campo time del database access è impostato come tipo data/ora?
    luca
    www.intheweb.it - Internet solutions

  3. #3
    ciao,
    da lo stesso errore, sia come ho fatto io sia con il tuo consiglio,
    dice:

    Microsoft JET Database Engine error '80040e14'

    Syntax error in INSERT INTO statement.

    /FLEURcomments.asp, line 11


    non lo formatta lui la colonna del foglio access?

  4. #4
    ---------------------------------------------------
    impariamo a fare un po' di debug

    1. componi una stringa SQL (sSQL="INSTERT INTO...") e poi fai la conn.execute sSQL

    2. *subito* dopo la composizione della stringa SQL metti

    Response.Write "maGGica SQL...: " & sql
    Response.Flush

    poi posta quello che viene a video
    ----------------------------------------------------

  5. #5
    come avevo detto prima, sono abituato a fare siti internet statici, quindi di asp non ne so molto, ho interpretato le tue parole facendo così:


    <%

    Sub Commenti(Pagina)

    strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("mdb-database/comments.mdb")
    set conn = Server.CreateObject("ADODB.Connection")
    conn.Open strConn

    sSQL="INSERT INTO commenti (nome, commento, pagina, IP, time) VALUES (" & _
    "'" & Replace(Request.Form("nome"), "'", "''") & "', " & _
    "'" & Replace(Request.Form("commento"), "'", "''") & "', " & _
    "'" & Replace(Request.Form("pagina"), "'", "''") & "', " & _
    "'" & Request.ServerVariables("REMOTE_ADDR") & "', " & _
    "'" & Now() & "')"

    Response.Write "maGGica SQL...: " & sql
    Response.Flush

    'Inserimento nuovo commento
    If Len(Request.Form("nome"))>3 and Len(Request.Form("commento"))>5 then
    conn.Execute sSQL

    .......come postato sopra



    quello che viene fuori è:


    maGGica SQL...:

    Microsoft JET Database Engine error '80040e14'

    Syntax error in INSERT INTO statement.

    /FLEURcomments.asp, line 21



    non vorrei farvi perdere tempo...pensavo fosse una cosa che si vedeva subito...

  6. #6
    Probabilmente l'errore è dovuto al nome del campo "time", che è anche una parola riservata. vedi, a tal proposito, questo link:
    http://support.microsoft.com/kb/321266

    Per risolvere o cambi il nome al campo (consigliato), o nella query usi le parentesi quadrate:
    codice:
    INSERT INTO commenti (nome, commento, pagina, IP, [time]) VALUES (...
    Chi non cerca trova.

  7. #7
    grazie a tutti, soprattutto a tas, perchè il problema era appunto quello!
    ora il sito è praticamente fatto, ma non capisco come cambiare il font-size in queste righe:

    do until rs.eof
    Response.Write("

    " & Server.HtmlEncode(rs("loren")) & "
    ")
    Response.Write("" & Server.HtmlEncode(rs("nome")) & ":
    ")
    Response.Write(Server.HtmlEncode(rs("commento")) & "</p> <hr />")
    rs.moveNext
    loop

    volevo farlo alla "html", ma non funziona. Ovvero se metto <p style="font-size:small"> le virgolette si confondono con quelle dentro il Response.Write

    come fare?

    volevo fare "loren" small, "nome" normale (e in grassetto ma lo è già) e poi "commento" di nuovo small...ci dev'essere il modo...

  8. #8
    Utente di HTML.it L'avatar di lucalicc
    Registrato dal
    Sep 2002
    Messaggi
    6,926
    invece che i doppi apici " metti i singoli apici '
    luca
    www.intheweb.it - Internet solutions

  9. #9
    Oppure scrivi
    codice:
    Response.Write("<p style=""font-size:small"">")
    Chi non cerca trova.

  10. #10
    grazie a tutti, ora è tutto a posto!
    a presto,
    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.