Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Inserire delle "note"

  1. #1

    Inserire delle "note"

    Ciao a tutti,
    Ho una "stupidata" da fare, e son fermo.

    Mi spiego meglio:
    Ho un sito che raccoglie dati utente e gestisce un db, tutto perfettamente.

    Vorrei solo dar la possibilità al visitatore di inserire delle proprie note personali, tipo un diario, però non so come fare.

    Prima di tutto: l'imput, come lo gestisco? Come farlo?

    Poi: dovrei salvare i dati immessi in un file di testo, ogni volta aggiungendo in coda i nuovi commenti? E chiaramente, un file di testo per ogni utente?

    Perchè non credo di riuscire a scrivere molti caratteri su un campo del db (max 256, vero?)

    Grazie a tutti, a HTML.IT per questo spazio e a chi mi darà una dritta!

    Ciao ciao

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Puoi, anzi DEVI, usare un campo di tipo MEMO che non ha quel limite.

    Roby

  3. #3
    se il db è access, puoi usare il campo Memo che non ha limitazioni. con M$SQL 2005 puoi usare varchar(max)

  4. #4
    Eh... il problema è che non riesco ad inserire nel campo memo.

    Posto un codice di prova, parte di un codice che funziona.

    Ci sono 4 campi: nome, cognome, password, email, gia funzionanti nel database. Io ho aggiunto un 5 campo: note, MEMO. Però mi crea un record nuovo, vuoto.

    Come mai?

    <%@LANGUAGE = VBScript%>

    <%
    dnome=request.form("nsession")
    if dnome=session("nome") then response.redirect "nolog.asp"
    response.write "Home page di: " & session("nome")
    ' Mappaggio del database
    Set Conn=Server.CreateObject("ADODB.Connection")
    strConn="driver={Microsoft Access Driver (*.mdb)}; "
    strConn=strConn & " DBQ=" & Server.MapPath("registrazione.mdb")
    //strConn=strConn & ";pwd=""
    Conn.Open strConn

    ' Stringa di interrogazione sulla tabella libri
    sql = "SELECT * FROM registrazione"

    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3

    ' Preparazione e scrittura nuovo record
    dim strnote
    strnote="Nella lezione precedente abbiamo accennato all'attributo media. Grazie ad esso siamo in grado di impostare un foglio di stile per ogni supporto su cui la nostra pagina verrà distribuita. Una possibilità davvero interessante e che andrà sempre più diffondendosi con l'ampliarsi dei mezzi di diffusione delle pagine (X)HTML.Dove prima c'era unicamente un browser, domani potranno sempre più esserci palmari, cellulari e altri dispositivi. Per non parlare dei software usati da disabili come i browser vocali. Ciascuno di questi supporti presenta caratteristiche diverse in termini di memoria, ampiezza dello schermo e funzionalità. Riuscire ad adattare uno stile unico a tutti è praticamente impossibile, oltre che controproducente. La soluzione ideale sta quindi nella creazione di fogli di stile ad hoc. Sintassi L'attributo media può accompagnare sia l'elemento <LINK> che l'elemento <STYLE>. Ecco due esempi di sintassi:"

    rs.addnew
    rs(5) = straddnew
    rs.update

    ' Chiusura del database
    rs.Close
    set rs = Nothing
    conn.Close
    set conn = Nothing
    %>




    Torna alla pagina di inserimento dati


    Vedi tutti gli iscritti

    Qualcuno sa spiegarmi dove non funziona questo ASP di prova?

    Grazie mille

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma ti da errore o cosa?
    Il campo MEMO lo devi scegliere nel db...

    Roby

  6. #6
    No, nessun errore, solo non mi scrive nel campo MEMO.

    Ho aperto il DB con ACCESS, ho aggiunto a manina un campo (il quinto) e l'ho settato a MEMO, poi ho fatto quel codice di prova per vedere se ci scriveva sopra, ma niente!

    Mi crea un record nuovo, vuoto!

    Ma perchè?

    Con gli altri campi non ho nessun problema! Aggiungo, visualizzo, cancello record, senza problemi!

    Bah...

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
     
    sql = "INSERT INTO registrazione (tuocampo) VALUES ('"& strnote &"')"
    conn.Execute(sql)
    Così funzuona?

    Roby

  8. #8
    la replace dell'apici...

    poi, considera questo

    ----------------------------------------------------
    nel caso specifico, la ragione sta nel fatto che il campo memo
    (in ogni db, non solo access) non rientra nelle categorie standard:
    non è una stringa, non è un numero, non è una data.
    aggiungendo & "" si forza ASP a costringerlo dentro una stringa.
    probabilmente anche CStr(campo) sarebbe andato bene.
    a volte (mi sembra di ricordare lo faccia di più con mySQL)
    questi trucchi non funzionano se hai letto il campo con
    SELECT * FROM Tabella.
    Se usi
    SELECT elenco campi FROM tabella (cioè elenchi i campi uno per uno)
    funzia. Qui forse è un'esasperazione del concetto di cui sopra.
    In più, con sql2005/varchar(max) il campo 'memo' deve essere l'ultimo della select
    (non riesco qui a capire il perchè...)
    ----------------------------------------------------

  9. #9
    Ma che....
    niente da fare...

    Impossibile visualizzare la pagina
    Si è verificato un problema a livello della pagina che si desidera visualizzare che ne impedisce la visualizzazione.

    --------------------------------------------------------------------------------

    Please try the following:

    Fare clic sul pulsante Aggiorna o riprovare più tardi.

    Aprire la 127.0.0.1 home page e cercare i collegamenti alle informazioni desiderate.
    HTTP 500.100 - Errore interno del server - errore ASP
    Internet Information Services

    --------------------------------------------------------------------------------

    Informazioni tecniche (per il personale del supporto tecnico)

    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
    [Microsoft][Driver ODBC Microsoft Access] Parametri insufficienti. Previsto 1.
    /entra/homep.asp, line 18


    Tipo di browser:
    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; FDM)

    Pagina:
    GET /entra/homep.asp

    Ora:
    martedì 3 giugno 2008, 20.13.02


    Informazioni aggiuntive:
    Supporto Microsoft



    Quel "previsto 1" che è?
    Non è 3,3 per la lettura/scrittura?

    Del resto, sono gli stessi parametri che uso per inserire nuovi iscritti!

  10. #10
    L'errore vuol dire che 1 campo della tabella espressa nella SQL non ha corrispondenza nel nome con la medesima tabella nel database.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.