| 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. |
| Alessandro Ghizzardi |
Re: Ma per scrivere ?
Hai ancora il caro vecchio command, col quale puoi esegure i tuoi inserimenti/update
ciao Alessandro |
| 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 |
| Gianluca Padovani |
Re: Ma per scrivere ?
Inserimenti con comandi SQL giusto ?
Se ne sente proprio la mancanza dei cursori :-) |
| 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 |
| 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 |
| 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 |