Ho fatto un inserimento in un db con dei parametri e penso di aver fatto un po' di confusione. Per prima cosa controllo che il dato non sia già presente, se non c'è lo inserisco.

codice:
string connString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];

//creo l'oggetto connection e gli passo la stringa di connessione
					OleDbConnection conn = new OleDbConnection(connString);
//faccio l'Open della connessione
conn.Open();
					
string strSQL = "SELECT * FROM " + tableName + " WHERE nome=@descrizione ";
					
OleDbDataAdapter DA = new OleDbDataAdapter(strSQL, conn);
					
OleDbCommand cmd = new OleDbCommand(strSQL, conn);
					
// parametri
OleDbParameter parameter1 = new OleDbParameter("@descrizione", OleDbType.VarChar);
parameter1.Value = Server.HtmlEncode(TxtbStato.Text);
cmd.Parameters.Add(parameter1);
DataTable MyTable = new DataTable();
DA.Fill(MyTable);
//controllo se il dato immesso esiste
if (MyTable.Rows.Count==0)
{
cmd.CommandText="insert into " + tableName + " ( " + nome + ") values ('" + TxtbStato.Text + "')";
cmd.ExecuteNonQuery();
conn.Close(); 
Risposta.Text="Dati inseriti correttamente";
}
else
{	
Risposta.Text="Dato Presente";
}
Errore:
Nessun valore specificato per alcuni parametri necessari.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: Nessun valore specificato per alcuni parametri necessari.

Source Error:


Line 91:
Line 92: DataTable MyTable = new DataTable();
Line 93: DA.Fill(MyTable);
Line 94: //controllo se il dato immesso esiste
Line 95: if (MyTable.Rows.Count==0)

Sonia