Ciao, qualcuno potrebbe chiarirmi le idee sull'uso del DataAdapter???
da.Fill(ds.Tables["Tabella"]) riempie il data set passato come parametro con la query contenuta nel da
invece l'update:
da.Update(??,??) cosa fa????
Ciao, qualcuno potrebbe chiarirmi le idee sull'uso del DataAdapter???
da.Fill(ds.Tables["Tabella"]) riempie il data set passato come parametro con la query contenuta nel da
invece l'update:
da.Update(??,??) cosa fa????
Con .fill riempi la datatable presente nel dataset. Con .Update aggiorni il database con le modifiche presenti nella datatable. Il dataadapter e' un oggetto comodo per lo sviluppatore perche' fa molto del lavoro automaticamente che altrimenti andrebbe fatto a manina su ogni riga della datatable. Il dataadapter quando viene chiamata la funzione .fill usa il suo dataadapter.selectcommand . Quando viene chiamata la funzione .Update per riportare le modifiche nel db utilizza il .updatecommand .deletecommand e .insertcommand. Queste comunque sono ovviamente solo degli accenni. Ti consiglio di approfondire l'argomento ado.net con molta teoria (con i post si va poco lontano con argomenti cosi vasti).
Saluti a tutti
Riccardo
aggiorna il database con le modifiche apportate nel dataset attraverso una query di delete/update a seconda se il record è stato cancellato o modificato.
Grazie per l'aiuto.
Quidni vuol dire che quando creo un da, devo già associare il vari Commmand? (select, update, insert...)???
Non capisco come deve essere l'update, l'insert è OK, ma l'update mi incasina... potresti postarmi un semplice esempio?
Thanks
se lo usi solo per riempire una datatable ti basta solo il selectcommand. Per le altre operazioni dovrai usare gli altri command e quindi prepararli.Originariamente inviato da valeria75
Quidni vuol dire che quando creo un da, devo già associare il vari Commmand? (select, update, insert...)???
l'esempio lo puoi far fare alla creazione guidata del dataadapter di visual studio. Finita la creazione guidata, guardi nel codice come vengono creati i vari updatecommand insertcommand e deletecommand.Non capisco come deve essere l'update, l'insert è OK, ma l'update mi incasina... potresti postarmi un semplice esempio?
Saluti a tutti
Riccardo
Grazie! Mi stavo chiedendo: il dataadapter può essere utilizzato con Stored Procedure (con relativi parametri passati) e non con semplici query??
Puoi anche creare i vari cmd in modo automatico, con l'oggetto commandbuilder ( vedi msdn ).
ma il commandbuilder non gestisce query dirette con passaggio di parametri? io invece vorrei utilizzare stored procedure...
Certo che si. Devi tenere presente che il datadapter come detto sopra, ha il selectcommand updatecommand deletecommand e insertcommand. Ognuno di questi non e' altro che un normalissimo command (es. sqlcommand se usi sqlserver e il namespace sqlclient).Originariamente inviato da valeria75
Grazie! Mi stavo chiedendo: il dataadapter può essere utilizzato con Stored Procedure (con relativi parametri passati) e non con semplici query??
Quindi, se vuoi usare una stored procedure con un command non fai altro che
e per usarlo con un dataadaptercodice:tuocommand.commandtype = storedprocedure tuocommand.commandtext = "nomestoredprocedure"
i parametri li puoi aggiungere cosicodice:tuodataadapter.selectcommand = tuocommand
codice:tuocommand.parameters.add("@parametro", sqldbtype.tipo).value = "ciao"
Saluti a tutti
Riccardo
Perfetto!!! quindi il funzionamento è identico all'utilizzo di SP in DataReader.
Ora il da mi è piu chiaro ma continuo a non capire quale strada è meglio utilizzare, mi spiego meglio:
- posso trascinare un da tramite VS nel mio form, e in automatico mi vengono create tutti command di update, select e delete
- posso creare manualmente il da ed i relativi command
Voi che soluzione usate??? in quali casi è meglio utilizzare l'una piuttosto che l'altra?