Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Gio&Ste
    Registrato dal
    Jan 2001
    Messaggi
    643

    inserimento multiplo dinamico

    Avrei necessità di fare un inserimento di record multiplo in un db.
    Il codice di partenza è il seguente:

    <%

    strSQL = "INSERT INTO Rubrica (Nome, Telefono) VALUES " & _
    "('Daniele', '983673630'), " & _
    ('Lino', '4331120'), " & _
    ('Andrea', '9898898'), " & _
    ('Cristian', '453535353'), " & _
    ('Alessio', '8655353');"

    conn.Execute(strSQL)

    %>
    La domanda è riesco a rendere dinamico questo codice? il discorso potrebbe essere io preparo un form con 5 input, ma se me ne servono 7 o 8 come mi devo comportare? mi conviene fare una pagina intermedia in cui inserisco quanti record voglio inserire?
    Giò

  2. #2
    fai un forum con due campi ripetuti quante volte vuoi...il campo uno lo chiami NOME e il secondo lo chiami TELEFONO

    codice:
    nomi=split(request.form("nome"),",")
    telefoni=split(request.form("telefoni"),",")
    
    strSQL = "INSERT INTO Rubrica (Nome, Telefono) VALUES "
    
    for i=0 to ubound(nomi)
    
    strSQL=strSQL & "('" & nomi(i) & "','" & telefoni(i) & "')"
    if i<ubound(nomi) then strSQL=strSQL & ","
    
    next
    
    
    response.write strSQL
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it L'avatar di Gio&Ste
    Registrato dal
    Jan 2001
    Messaggi
    643
    ma il form come lo faccio?
    Giò

  4. #4
    Originariamente inviato da Gio&Ste
    ma il form come lo faccio?
    boh, in base a cosa devi moltiplicare i campi?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it L'avatar di Gio&Ste
    Registrato dal
    Jan 2001
    Messaggi
    643
    e si, devo moltiplicare i campi! Ci aggiungo un javascript che mi crea un campo nuovo se ne ho bisogno? Poi in quello che mi hai scritto come codice di esempio non capisco se gli input devono avere tutti lo stesso name? perchè mi scrivi:

    nomi=split(request.form("nome"),",")
    ?
    Giò

  6. #6
    esatto devono avere tutti lo stesso name...nel caso mio ho usato la parola "nome"
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Utente di HTML.it L'avatar di Gio&Ste
    Registrato dal
    Jan 2001
    Messaggi
    643
    Supponendo che volessi usare questo script per aggiungere il campo al form, come dovrei modificarlo?
    <script type="text/javascript">
    <!--

    var arrInput = new Array(0);
    var arrInputValue = new Array(0);

    function addInput() {
    //arrInput.push(createInput(arrInput.length));
    arrInput.push(arrInput.length);
    //arrInputValue.push(arrInputValue.length);
    arrInputValue.push("");
    display();
    }

    function display() {
    document.getElementById('parah').innerHTML="";
    for (intI=0;intI<arrInput.length;intI++) {
    document.getElementById('parah').innerHTML+=create Input(arrInput[intI], arrInputValue[intI]);
    }
    }

    function saveValue(intId,strValue) {
    arrInputValue[intId]=strValue;
    }

    function createInput(id,value) {
    return "<input type='text' name='nome' id='test "+ id +"' onChange='javascript:saveValue("+ id +",this.value)' value='"+ value +"'>
    ";
    }

    function deleteInput() {
    if (arrInput.length > 0) {
    arrInput.pop();
    arrInputValue.pop();
    }
    display();
    }
    // -->
    </script>


    </head>
    <body >



    <div align="center">

    <p id="parah"></p>

    Aggiungi un campo al modulo

    Rimuovi un campo dal modulo

    </div>
    Giò

  8. #8
    Utente di HTML.it L'avatar di Gio&Ste
    Registrato dal
    Jan 2001
    Messaggi
    643
    Ho provato lo script che ho copiato prima, sembra funzionare.
    Ho solo un problema di sintassi credo.
    Questa è la mia pagina per l'inserimento dei record:
    <%
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("../mdb-database/db.mdb")

    Numeri=split(request.form("Numero"),",")
    Data=split(request.form("Data"),",")
    Oggetto=split(request.form("Oggetto"),",")

    strSQL = "INSERT INTO miodb (Numero, Oggetto, Data) VALUES "

    for i=0 to ubound(Numeri)

    strSQL=strSQL & "('" & Numeri(i) & "', '" & Oggetto(i) & "', '" & Data(i) & "')"
    if i<ubound(Numeri) then strSQL=strSQL & ","

    next

    objConn.Execute(strSQL)
    Questo codice mi restituisce il seguente errore:

    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    [Microsoft][Driver ODBC Microsoft Access] Punto e virgola ( mancante alla fine dell'istruzione SQL.
    /add.asp, line 36

    Cosa sbaglio?
    Giò

  9. #9
    Utente di HTML.it L'avatar di Gio&Ste
    Registrato dal
    Jan 2001
    Messaggi
    643
    manca il punto è virgola ho modificato lo script in questo modo:

    next

    strSQL=strSQL &";"
    response.write(strSQL)

    'Set Rs = objConn.Execute(strSQL)
    la stringa che ottengo è

    INSERT INTO miodb (Numero, Oggetto, Data) VALUES ('1', 'prova', #25/12/2006#),(' 2', ' saddas', # 26/10/2006#),(' 3', ' safd', # 25/07/2006#);
    ma ho sempre questo errore:
    Microsoft][Driver ODBC Microsoft Access] Punto e virgola ( mancante alla fine dell'istruzione SQL.

    la linea 117 è la seguente:
    Set Rs = objConn.Execute(strSQL)
    Giò

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.