Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26
  1. #1

    Inserire solo i campi checckati

    Salve ragazzi avrei la ncessità di inserire dei dati in una tabella.
    Il problema nasce dal fatto chei i dati vengono mostrati all'interno di un form e accanto a ognuno di loro ho un check.
    Questo perchè nella tabella dovranno essere inseriti solo i dati con il check fleggato.
    Poichè avevo trvato la soluzione per eliminare i dati con il check (Funziona tutto alla perfezione) ho provato ad adattare lo script per l'inserimento ma mi da errore.

    La tabella ha i seguenti campi
    id_login-----contatore
    username------testo
    password------testo
    opzione-------si/no

    Questo è il form:
    codice:
    <form action="inserisci.asp" method="post" name="form1" target="_self" id="form1" onsubmit="return Controlla(this)">
          <table width="300" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td colspan="3" align="center" class="titoli">Gestione dati tabella utenti </td>
            </tr>
            <tr>
              <td colspan="3" align="left" class="testo">[img]immagini/null.gif[/img]</td>
            </tr>
            <tr>
              <td colspan="3" align="right" class="testo">Inserisci nuovo Utente </td>
            </tr>
            <tr>
              <td colspan="3" align="left" class="testo">[img]immagini/null.gif[/img]</td>
            </tr>
            <tr>
              <td width="130" align="left" class="testo">Username</td>
              <td width="130" align="left" class="testo">Password</td>
              <td width="40" align="left" class="testo"></td>
            </tr>
            <tr>
              <td colspan="3" align="left" class="testo">[img]immagini/null.gif[/img]</td>
              </tr>
            <% 
    While ((Repeat1__numRows <> 0) AND (NOT rsLogin.EOF)) 
    %>
    		<tr>
    <td align="left" class="testo"><label>
    <input name="username" type="text" class="testo" id="username" value="<%=(rsLogin.Fields.Item("username").Value)%>" size="20" />
    </label></td>
              <td align="left" class="testo"><label>
              <input name="password" type="text" class="testo" id="password" value="<%=(rsLogin.Fields.Item("password").Value)%>" size="20" />
              </label></td>
              <td align="center" class="testo"><label>
                <input name="id_login" type="checkbox" id="id_login" value="<%=(rsLogin.Fields.Item("id_login").Value)%>" />
              </label></td>
            </tr>
            
            <tr>
              <td colspan="3" align="left" class="testo">[img]immagini/null.gif[/img]</td>
    </tr>
    <% 
      Repeat1__index=Repeat1__index+1
      Repeat1__numRows=Repeat1__numRows-1
      rsLogin.MoveNext()
    Wend
    %>
            <tr>
              <td colspan="3" align="left" class="testo">[img]immagini/null.gif[/img]</td>
            </tr>
            <tr>
              <td colspan="3" align="right" class="testo" height="10"><input name="chk" type="checkbox" id="chk" onClick="checkAll(this.checked)">
                <span id="sel">Seleziona tutti</span></td>
              </tr>
            <tr>
              <td colspan="3" align="left" class="testo">[img]immagini/null.gif[/img]</td>
            </tr>
            <tr>
              <td colspan="3" align="center" class="testo"><label>
                <input name="elimina" type="submit" class="testo" id="elimina" value="Inserisci i dati selezionati" />
              </label></td>
            </tr>
          </table>
    </form>
    Mentre questa è la pagine che fa l'inserimento dei dati:
    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    
    <%
      ' Creo un oggetto Connection
      Dim cn
      Set cn = Server.CreateObject("ADODB.Connection")
    
      ' Apro la connessione
      cn.Open str_cn
    
      ' Recupero gli ID dal modulo HTML
      Dim id_login
      id_login = Request.Form("id_login")
    
      ' Verifico che vengano indicati dei record da cancellare
      If id_login = "" Then
        Response.Write "Nessun dato specificato"
      Else
        ' Dichiaro le variabili che mi servono
        Dim i, x
        ' Instanzio un contatore numerico
        i = 0
        ' Divido i dati recuperati in un array di stringa
        x = Split(id_login, ", ")
        ' Cancello con un ciclo tutti i dati specificati
        For i = 0 to UBound(x)
          cn.Execute = "INSERT INTO login (password,username) VALUES '('"& request.form("username") &"', '"& request.form("password") &"')'
     WHERE id_login = " & x(i)
        Next
        ' Lancio un messaggio a video
        Response.Write "Inserimento avvenuto con successo"
      End If
      ' Un po di pulizia...
      cn.Close
      Set cn = Nothing
    %>
    Lerrore che mi restituisce è il seguente (SQL Errata):
    codice:
    Microsoft VBScript compilation error '800a0409' 
    
    Unterminated string constant 
    
    /check/inserisci.asp, line 27 
    
    cn.Execute = "INSERT INTO login (password,username) VALUES '('"& request.form("username") &"', '"& request.form("password") &"')'
    Potreste cortesemente aiutarmi?


  2. #2
    codice:
    cn.Execute = "INSERT INTO [login]([username], [password]) VALUES('"& request.form("username") &"', '"& request.form("password") &"') WHERE id_login = " & x(i)

  3. #3
    Mi restituisce questo errore:
    codice:
    Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 
    
    [Microsoft][ODBC Microsoft Access Driver] Missing semicolon (;) at end of SQL statement. 
    /check/inserisci.asp, line 27
    La linea 27 è quella dell'istruzione SQL.
    Ho provato a mettere ";" alla fine dell'istruzione SQL ma mi dice che l'SQL non è corretto.


  4. #4
    codice:
    sql = "INSERT INTO [login]([username], [password]) VALUES('"& request.form("username") &"', '"& request.form("password") &"') WHERE id_login = " & x(i)
    cn.Execute(sql)

  5. #5
    Nulla sempre lo stesso errore.

    Prima mentre facevo una ricerca nel forum ho notato che c'era stato un problema simile ma alla fine la discussione era rimasta in sospeso

  6. #6
    codice:
    sql = "INSERT INTO [login]([username], [password]) VALUES('"& request.form("username") &"', '"& request.form("password") &"') WHERE id_login = " & x(i) & ";"
    cn.Execute(sql)

  7. #7
    Allora poiche mi dava sempre lo stesso errore alla riga 28 che è questa:
    cn.Execute(sql)

    ho provato senza (La riga 28 sempre).

    Mi ha datto il messaggio di inserimento corretto, però al momento di della verifica mi sono accorto che i dati non sono stati inseriti.



    Come diavolo fa a dirmi che è ok l'inserimento e poi i dati nn me li inserisce.

  8. #8
    Eccerto.
    Se levi l'execute della stringa sql è ovvio che non infila niente nel db.
    Il messaggio te lo da la pagina così come hai previsto tu nel codice.

  9. #9
    Giusto è vero
    Comunque l'rrore è sempre lo stesso.

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Missing semicolon ( at end of SQL statement.

    /check/inserisci.asp, line 28

    Linea 28 che corrisponde a:
    cn.Execute(sql)

  10. #10
    Originariamente inviato da bibuz
    Giusto è vero
    Comunque l'rrore è sempre lo stesso.

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Missing semicolon ( at end of SQL statement.

    /check/inserisci.asp, line 28

    Linea 28 che corrisponde a:
    cn.Execute(sql)
    Fammi vedere il tuo codice allo stato attuale.

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.