Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    395

    Passaggio data presa da windows e aggiunta in un nuovo record

    Ciao a tutti, ho due file che uso per inserire un nuovo record nel database.
    Il primo e' una semplice form dove passo vari dati fra cui un campo hidden con il valore della data del sistema operativo ecco la riga:
    <input type="hidden" name="Data" id="Name" value="<%=Date()%>">
    Il secondo file controlla i campi e aggiunge al database nell'opportuna tabella, ecco il codice:
    sql = "SELECT * FROM MessageBoard "
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,1,3
    rs.movefirst
    do while not(rs.eof)
    RS.Addnew
    Rs.fields("Data") = request("Data")
    RS.fields("Type") = request("Type")
    RS.fields("To") = request("To")
    RS.fields("Title") = request("Title")
    RS.fields("Description") = request("Description")
    RS.update
    loop
    rs.Close
    set rs = Nothing

    %>
    Il problema e' che mi crea un loop, iniza a crearmi nuovi record fino a quando non ha riempito tutta la tabella. Ho provato a togliere il loop ma in quel caso mi da un errore alla chiusura del Database, come posso fare per risolvere questo problema? Grazie per l'attenzione?

  2. #2
    Io semplificherei lo script così:

    codice:
    <%
    'Recupero i valori
    laData = request("Data") 
    ilTipo = request("Type") 
    finoA = request("To") 
    ilTitolo = request("Title") 
    laDescrizione = request("Description") 
    
    sql = "SELECT * FROM MessageBoard " 
    Set rs = Server.CreateObject("ADODB.Recordset") 
    rs.Open sql, conn
    
    if rs.eof then
       sqlInsert = "insert into tua_tabella([Data], [Type], [To], [Title], [Description]) value ( #" & laData & "# , '" & il Tipo & "' , '" & finoA & "' , '" & il Titolo & "' , '" & laDescrizione & "')"
       conn.execute(sqlInsert)
    end if
    
    rs.Close 
    set rs = Nothing 
    %>
    Alcune osservazioni:

    1)La prossima volta usa nomi di colonna tabella che non siano tutti (o quasi) parole riservate dell'SQL (ecco perchè no messo le perentesi quadre []).

    2)Ho impostato la insert non considerando il metodo ADO (che avevi usato tu), bensì l'SQL puro, supponendo che i valori delle colonne sino i seguenti:

    - Data (tipo Data)
    - Type (testo)
    - To (testo)
    - Title (testo)
    - Description (testo)

    Spero di averti quantomeno indirizzato un po' meglio!
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

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.