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.