27. marts 2005 - 11:21Der er
6 kommentarer og 1 løsning
Flytning af data fra en tabel til en anden med en for løkke
Jeg skal flytte data fra en tabel til en anden, det har jeg prøvet ved at læse data fra den ene tabel ind i et dataset. Derefter prøver jeg at løbe datasettet igennem række efter række. Fordi dataene skal placeres i de rigtige felter. Jeg gør det på følgende måde: Dim i As Integer For i = 0 To resultat.Tables(0).Rows.Count() - 1 Dim opfcom As New OleDbCommand opfcom.Connection = overfør opfcom.CommandText = "update metadb.me_dokumenter set titel = '" & resultat.Tables(0).Rows(0).Item(1) & "', prod_dato =" & resultat.Tables(0).Rows(0).Item(2) & ", rekvirent = '" & resultat.Tables(0).Rows(0).Item(3) & "' where dok_id = " & resultat.Tables(0).Rows(0).Item(0) & "" opfcom.ExecuteNonQuery() Next
datasettet har navnet resultat.
Problemet med denne for løkke er at jeg kun for den første række flyttet. Kan det gøres anderledes.
det er indbygget direkte i SQL at kopiere data fra en tabel til en anden. Tricket består i at man laver en INSERT query, hvor værdierne der skal indsættes kommer fra en anden tabel.
Eksempel:
INSERT california_authors (au_id, au_lname, au_fname) SELECT au_id, au_lname, au_fname FROM authors WHERE State = 'CA'
Når det er gjort kan du bare slette data'erne fra den gamle tabel.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.