358 messaggi dal 11 luglio 2003
Ho una DataGridView collegata ad un Dataset, al momento del salvataggio richiamo la DataAdapter1.Update(dataset1) in modo da salvare nel Database le modifiche effettuate nella DG.
Il problema nasce quando carico dei dati nella DG con query parametrica(esempio SELECT * FROM Tabella1 WHERE Codice=@Codice), in questo caso la DataAdapter1.Update(dataset1) mi restituisce: "Il metodo OledbCommand.Prepare richiede l'impostazione esplicita del tipo per tutti i parametri", eppure per visualizzare nella DG imposto esplicitamente il parametro con:
CmdTmp.Parameters.AddWithValue("@Codice", TipoCampo).Value = ValoreCampo

Cosa mi manca?
Modificato da mardok30 il 07 settembre 2011 09.29 -

No comment...
547 messaggi dal 24 maggio 2002
Contributi
Ciao,

AddWithValue non prevede l'esplicitazione del tipo di dato
public SqlParameter AddWithValue(
  string parameterName,
  Object value
)


Credo tu debba usare il metodo Add
public SqlParameter Add(
  string parameterName,
  SqlDbType sqlDbType
)


In sostanza qualcosa del tipo:
SqlParameter param = command.Parameters.Add(
    "@XXXXX", SqlDbType.XXXXX);
param.Value = "XXXXX";
command.Parameters.Add(param);


Marco.
Modificato da makbox il 07 settembre 2011 10.08 -
358 messaggi dal 11 luglio 2003
Grazie per lo spunto, adesso funziona:
CmdTmp.Parameters.Add("@Campo1", TipoCampo, 255).Value = Codice1

ho dovuto poi mettere la lunghezza del campo (255), altrimenti dava errore.
Grazie, ciao

No comment...

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.