Logo UGIdotNET

Discussione 'Ma per scrivere ?'

# Pubblicato il 24 lug 2002 14.53 - Rispondi
Gianluca Padovani
Ma per scrivere ?
Salve,
ho una semplice e banale domanda, per leggere i dati da un DB posso usare o DataAdapter + DataSet o DataReader.

Benissimo c'è un DataWriter ?

Ovvero se voglio scrivere sul DB devo per forza passare per DataSet + DataAdapter ?

Grazie a tutti.
# Pubblicato il 24 lug 2002 15.13 - Rispondi
Alessandro Ghizzardi
Re: Ma per scrivere ?
Hai ancora il caro vecchio command, col quale puoi esegure i tuoi inserimenti/update

ciao
Alessandro
# Pubblicato il 25 lug 2002 14.07 - Rispondi
Davide Vernole
Re: Ma per scrivere ?
Ciao Gianluca, se la tua necessità è quella di eseguire un comando di insert, update o delete, e non hai bisogno di recuperare un set di record ma solo l'esito della tua azione sul database (ad esempio tramite un parametro di output), puoi utilizzare il metodo ExecuteNonQuery dell'oggetto command di ADO.NET. Ecco un esempio:

SqlCommand sqlCmd = new SqlCommand();
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.CommandText = "myStoredProcedure";
SqlParameter myPar = new SqlParameter("@myParameter", SqlDbType.Int, 4, ParameterDirection.Output, false, 0, 0, "", DataRowVersion.Default, 0)
SqlConnection con = new SqlConnection(....... Stringa di connessione .....)
sqlCmd.Connection = con;
sqlCmd.ExecuteNonQuery();
int retVal = (int)myPar.Value;
con.Close();

In modo analogo puoi procedere se per qualche motivo non utilizzi le stored procedure ma una stringa che contiene i comandi SQL da eseguire.

Per maggiori informazioni su questo metodo ti invito a verificarlo in MSDN o nell'help di Visual Studio .net

Spero ti sia utile

Davide
# Pubblicato il 24 lug 2002 15.16 - Rispondi
Gianluca Padovani
Re: Ma per scrivere ?
Inserimenti con comandi SQL giusto ?

Se ne sente proprio la mancanza dei cursori :-)
# Pubblicato il 24 lug 2002 15.56 - Rispondi
Pierre Greborio
Re: Ma per scrivere ?
Si. Hai la possibilità di definire le proprietà DeleteCommand, InsertCommand, SelectCommand e UpdateCommand del DataAdapter mediante istanze di ICommand che implementano (con cistrutti SQL) i comandi corrispettivi.

Ciao
Pierre
# Pubblicato il 25 lug 2002 10.22 - Rispondi
Andrea Cassone
Re: Ma per scrivere ?
bhe, non esistono più i cursori direttamente sulla tabella, ma puoi navigare/modificare i dati utilizzando i datatable e i datarow per poi riportare le modifiche sul database utilizzando i dataadapter.

Ciao
Andrea
# Pubblicato il 25 lug 2002 14.24 - Rispondi
Gianluca Padovani
Re: Ma per scrivere ?
La mia era una domanda più filosofica che pratica.
Ho fatto settimane addietro un programma che importava da file Excel in file Access e ho avuto qualche problema in quanto volevo cancellare le righe nel file Excel ma non ci riuscivo perchè la tabella non aveva gli indici e quindi il CommandBuilder non funziona, ho avuto un problema analogo in access perchè importavo i dati in tabelle senza indici.

Diciamo che in quella situazione avrei fatto meglio ad usare ADO e non ADO.NET. Sbagliando di impara :-)

Grazie comunque dell'interessamento.

Saluti

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185