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

    Errore inserimento dati con valori presi da variabili

    Salve ragazzi buonasera,

    sto cercando di fare un' inserimento dati su un Db Access.

    L'errore mi dice che non sono presenti dati da inserire. Però da qul che ho visto le variabili che io metto nella istruzioni SQL i dati li contengono perchè se le provo a stampare a video non ho problemi.

    Vi posto il codice:
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <%@ Page Language="C#"  Debug="true"%>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.OleDb" %>
    <script language="C#" runat="server">
        void Page_Load(Object sender, EventArgs e)
        {
            
            string nomeCognome = Request.Form ["nomeCognome"];
            string societa = Request.Form ["societa"];
            string email = Request.Form ["email"];
            string messaggio = Request.Form ["messaggio"];
    
            // Apro la connessione
            String str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("/database/xxxxxx.mdb");
            OleDbConnection cn = new OleDbConnection(str);
            cn.Open();
    
            // Creo l'oggetto Command a cui passo la stringa Sql per eseguire la INSERT
            String sql = "INSERT INTO messaggiModulo (nomeCognome, societa, email, messaggio) VALUES (@nomeCognome, @societa, @email, @messaggio)";
            Response.Write (sql);
            Response.Write(nomeCognome);
            Response.Write(societa);
            Response.Write(email);
            Response.Write(messaggio);
    
            OleDbCommand cmd = new OleDbCommand(sql, cn);
    
            // Eseguo la INSERT
            cmd.ExecuteReader();
    
            // Chiudo la connessione
            cn.Close();
    
            Response.Write("Inserimento effettuato!");
    
        }
    </script>
    L' errore è il seguente:
    Dettagli eccezione: System.Data.OleDb.OleDbException: Nessun valore specificato per alcuni parametri necessari.

    E mi evidenzia in rosso la seguente riga:
    cmd.ExecuteReader();

    Ho provato varie sintassi sui valori da inserire ma nulla.
    Ho fatto un test e se io inserisco dei valori fissi li inserisce correttamente.

    Potete per cortesia darmi qualche suggerimento?

    Grazie a tutti in anticipo.

    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  2. #2
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Bè effettivamente dove è la parte dell'inserimento dei parametri ??.

  3. #3
    codice:
    // Creo l'oggetto Command a cui passo la stringa Sql per eseguire la INSERT
            String sql = "INSERT INTO messaggiModulo (nomeCognome, societa, email, messaggio) VALUES (@nomeCognome, @societa, @email, @messaggio)";
    
            OleDbCommand cmd = new OleDbCommand(sql, cn);
    
    // Eseguo la INSERT
            cmd.ExecuteReader();
    Scusa ma la prte che ti riporto di sopra non dovrebbe effettuare l'inserimento?
    Io se al posto dei parametri presi dalle variabili metto dei valori a caso tipo
    'Pippo', 'nome società', 'pippo@tin.it', 'messaggio di prova'

    I dati vengono regolarmente inseriti.

    I dai delle variabili li ricavo in questo modo e provengono da unform con metodo "post"

    codice:
    string nomeCognome = Request.Form ["nomeCognome"];
            string societa = Request.Form ["societa"];
            string email = Request.Form ["email"];
            string messaggio = Request.Form ["messaggio"];
    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

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.