Ho fatto un primo programmino di prova caricando in un dataset due tabelle
distinte (es. TAB1: Categorie, TAB2: Prodotti) da un database SQLServer.
Facendo i vari aggiornamenti, poi dovrei salvare entrambe le tabelle sul mio
database di origine.
Ho fatto un po' di prove, ma finché si tratta di salvare solo una tabella,
il dataset fila che è una meraviglia. Quando invece ho piu di una tabella,
non riesco a salvarle.
Ho visto che la cosa è normale (cioè è giusto che sia cosi), ma ora non
riesco a capire come posso fare questa cosa, sempre restando che le mie
tabelle sono in un unico dataset. Potrei creare un altro dataset, ma allora
che senso ha? :p
Qualcuno mi da qualche delucidazione? C'è qualche codice facile di esempio
che mi aiuterebbe a capire?
(Un codice che carica in un dataset due tabelle e poi le salva, giusto x
avere le idee piu chiare)
Grazie e scusate il disturbo.
--------------------------------
Inviato via http://arianna.libero.it/usenet/
Alt calma e gesso!!!
la logica è disconnessa quindi devi pensare in tale ottica.....
Il dataset pensalo come una grande collection....in "principiantese": una
"matriciona" nella memoria del pc locale svincolata completamente dal
server!
Io prendo dal server i dati che voglio e li carico in questo spazio!
Li posso prendere in 2 modi
con il DataAdapter
o con il Datareader
Una volta presi me ne frego del serevr...tanto me ne frego...che la
connessione al server viene staccata....
io faccio le mie elaborazioni
e poi arriva il fatidico momento
RIAGGIORNARE I DATI SUL SERVER
e qui le strategie si diversificano:
a) Hai sqlserver?...e perchè non sfrutti la sua potenza e versatilità???
Invoca delle stored procedure...
fatti dare dal dataset SOLO i dati modificati....e con quelli invoca le tue
stored
Hai un vantaggio non da poco...la velocità
lo svantaggio è che devi imparare a farle...ma è solo SQL e un po d'altro
che diamine
Inoltre se usi i parametri....essi sono quasi immuni dalla SQL injection...e
non è poco in un ambiente distribuito!
b) Mettiamo che invece tu voglia usare ado.net+dataAdapter
beh devi ISTRUIRE il dataAdapater a cosa fare!
Il dataadapter ha in metodo update...ma per quanto i pc siano evoluti...non
ha la palla di cristallo e non sa cosa aggiornare!!!
Devi dirglielo
o MANUALMENTE impostanto l'SQL di INSERT UPDATE DELETE SELECT
o fidandoti del suo commandbuilder
Il dataadapter è una facilitazione...un accomodamento di tante
cose...compreso l'oggetto Command
è con lui che devi avere a che fare....
lui si connette al db ed esegue un comando....
ma per eseguire devi dirgli COSA eseguire!!!
Piccolo consiglio:
L'ambiente VISUAL è in questi casi una limitazione!
Devi CAPIRE cosa c'è sotto...altrimenti produci spaghetti code...poco
performante ed ad alto tasso di incazzatura per chi lo deve usare!!!
Non ha senso darti un codice....SE NON SAI interpretarlo!
Meglio un buon libro!!!....o MSDN
http://www.aspitalia.com/articoli/asp.net/adodotnet.aspx
http://www.dotnethell.it/articles/TutorialADONET.aspx
http://msdn.microsoft.com/en-us/library/h43ks021(VS.71).aspx
--
-----------------------------
Mio Blog
http://www.martek.it/dblog/default.asp
Mia città
http://wodka40hall.myminicity.com/
Fermo restando che il grosso problema in una logica disconnessa è questo:
E se siamo in 2 a modificare il solito record???
...e qui la discussione si divide in guelfi e ghibellini!!!
Per me è stata chiara e divertente questa discussione:
http://forum.html.it/forum/showthread/t-1037200.html
--
-----------------------------
Mio Blog
http://www.martek.it/dblog/default.asp
Mia cittŕ
http://wodka40hall.myminicity.com/
Ora gia che ci sono vado un attimino offtopic ma approfitto della tua
gentilezza per un quesito...
Una volta imparato ADO.NET il mio passo successivo è creare un servizio che
venga eseguito sul server e vada ad una determinata ora ad aggiornare i
campi di un database.
Tutto bene fin qui, ma volevo aggiungere una "feature": volevo passargli ora
e minuti (es 17 e 15) come start parameter del servizio (in modo che io
passo l'orario e lui mi esegue le mie operazioni a quell'ora) ma non riesco
a leggerli e non ho trovato un esempio decente...
Come si fa se ad esempio io scrivo nella finestra win dei Servizi->destro su
mio servizio -> start parameter: "H=17 M=15" a prelevare poi nel mio
programma tali valori?
Ho provato a scrivere nell'eventLog il valore tramite:
Me.EventLog.WriteEntry("Valore 1:" & args(0))
ma purtroppo proprio quella riga mi genera un errore!
Grazie anticipatamente per la disponibilità!!!
Il 02 Set 2008, 17:44, "Wodka40" <chied...@email.it> ha scritto:
> "Darione" <s...@iol.it> ha scritto nel messaggio
> news:82Z106Z16Z166Y1...@usenet.libero.it
> zac
> > (Un codice che carica in un dataset due tabelle e poi le salva,
> > giusto x avere le idee piu chiare)
> e tanto per chiarire...e per mostarti che dovresti approfondire
> l'argomento...
> il dataset NON TI SALVA nel server!
> ...quello lo fa il dataAdapter!!!
> ...se te ne fai uno per tabella(brutto per tabella!!!....per
"query"...ecco
> meglio!)
> 1+1......
--------------------------------
Inviato via http://arianna.libero.it/usenet/