Trasferimento dati tra database ASA (sybase)

lunedì 20 febbraio 2006 - 15.31

lucagtii Profilo | Junior Member

Buongiorno a tt ragazzi/e. Ho un quesito da porvi:

devo traferire dei dati tra due database con struttura delle tabelle diverse, però ho qualche piccolo problema.

vi metto il codice qui di seguito:

For i = 0 To ds.ANA_MP.Count - 1
row = ds.ANA_MP.Rows(i)
rowdossier("cod_prodotto") = row("CODICE")
dadossier.Update(Dsdossier)
pbbar.Value = pbbar.Value + 1
Next


Mi dice nessuna riga nella posizione 26... ma non capisco nonostante il debug...
Esiste un'altro modo per fare questo genere di operazione?

Cteniza Profilo | Guru

L'aggiornamento a partire dal dataset non funziona come con i recordset dove ad ogni aggiornamento doveva corrispondere un update.
La gestione dei dati è disconnessa ovviamente ne deriva che il dataadapter aggiorna tutte le righe modificate in una sola volta.
Update va dato quindi una sola volta alla fine del tuo ciclo di aggiornamento.
Per quanto riguarda invece l'aggiornamento della seconda tabella puoi utilizzare il metodo rows.add dentro il ciclo:
For i = 0 to table1.Rows.Count - 1
table2.Rows.Add(table1.rows(i))
Next
Esiste inoltre il metodo loadrows

lucagtii Profilo | Junior Member

Ti ringrazio, ho provato con l'istruzione che mi hai indicato :

Dsdossier.Tables("anagr_prodotto").Rows.Add(ds.Tables("ANA_MP").Rows(i))

ma purtroppo viene genara un'ecezione che mi dice :

la riga appartiene già ad un'altra tabella. Perchè?

Cteniza Profilo | Guru

Non mi era mai capitato di fare questa cosa.
Prova questo:
Dim myRow As New DataRow = table1.Rows(k)
table2.Rows.Add(myRow)
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5