6 messaggi dal 01 agosto 2006
Fortunatamente programmo solo per hobby, perchè altrimenti con questo ADO.NET sarei già impazzito... E' una impressione da neofito, o ADO presenta alcune logiche di funzionamento a dir poco macchinose?
Comunque il problema è questo.
Devo aggiungere alcune row ad una tabella collegata, in una relazione padre-figlio, con un altra tabella.
L'operazione, contrariamente a quanto mi sarei aspettato, non è affatto banale, perchè costringe a recuperare l'ID della tabella padre per utilizzarlo nella tabella figlio (ma perchè non è sufficiente impostare SetParentRow?).
La cosa non è semplicissima: per quanto ho capito, costringe a creare una stored procedure che restituisca il valore di SCOPE_IDENTITY.
Ok, mi sembra una cazzata, ma scrivo la sp.
Ma non è finita: siccome utilizzo un tableadapter, sono poi costretto (se non ho capito male) a sostituire la query di INSERT del tableadapter con la sp creata.
Fatto anche questo.
Ma poi non mi ritrovo più. La vecchia e cara sintassi (taClienti.Update(datatable)) non funziona più e mi viene restituito un errore in cui mi si dice che alla sp devo passare dei parametri.
Già, lo immaginavo: i parametri, nella sp, li vedo, sono i campi della riga da aggiungere: ma, mi domando, perchè con la query di INSERT originale, che pure ha gli stessi parametri, è possibile passare un datatable, o magari un dataset?
C'è un modo per salvare la vecchia sintassi o, ancora meglio, di risolvere l'intero problema in maniera più semplice?
E poi una curiosità. il metodo Update, in presenza di righe nuove, mi sembra chiaro che invochi INSERT. Ma questo dove e quando succede?
Grazie.
F.B.

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.