Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Riportare modifiche dataSet tipizzato su DB
mercoledì 06 ottobre 2010 - 16.32
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
C#
|
.NET 2.0
|
Windows XP
|
Visual Studio 2005
|
SQL Server 2005
skraus
Profilo
| Junior Member
116
messaggi | Data Invio:
mer 6 ott 2010 - 16:32
Salve,
in un applicazione asp.net ho un dataset tipizzato, al cui interno sono presenti più dataTable e relativi TableAdapter.
Mediante del codice c# vado a creare o modificare dei dataRow nei relativi dataTable.
Il problema mi si presenta nel momento in cui voglio riportare le modifiche operate sui dati disconnessi all'interno del db. Come prima cosa eseguo l'insert dei record rispettando i vincoli impostimi dalle relazioni dei dati tra i vari dataTable.
Nel primo dataTable c'è un campo di chiave primaria numerico autoincrement. Nel momento in cui faccio l'insert dei nel DT il campo assume un valore fittizio (partendo da 1), poi quando chiamo il metodo update del relativo TableAdapter, il campo acquisisce il valore reale utilizzato dal DB, in quanto restituitogli dalla StoredProcedure che esegue l'insert.
I record relazionati al DT aggiornato, che hanno nella loro struttura il campo di chiave esterna restano fissi sul valore precedente (ad esempio 1) e non si aggiornano.
Ho provato a modificare le impostazioni della relazione che lega i due DT, impostando Relazione e vincolo di chiave esterna, ed impostando come azione sull'aggiornamento Cascade (aggiornamento a catena) e come regola di Accettazione/Rifiuto la stessa cosa. In tal modo però dopo aver eseguito l'update sui record da aggiungere per la prima tabella, sulla tabella relazionata i record che erano contrassegnati come da aggiungere diventano Unchanged. Di vantaggio ottengo che il campo di chiave esterna riceve il valore aggiornato.
Dov'è che sbaglio ? grazie
Sk
================================================
Ho risolto.
Come prima cosa ho impostato, nel dataset tipizzato, sui campi chiave auto incrementanti come valore di partenza 0 e come auto increment -1.
Poi sempre sul ds tipizzato ho configurato i dataRelation, configurando per l'update l'aggiornamento dei campi a caduta.
Per il resto tutto resta come descritto, ossia creare delle collection di DataRow, 1 per ogni dataTable, mediante il metodo Select e poi darle in pasto al corrispondente metodo Update.
Ciao alla prox.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !