Importeren CSV bestand importeert alleen laatste record

Status
Niet open voor verdere reacties.

Twanno5483

Gebruiker
Lid geworden
1 mrt 2009
Berichten
74
Hoi Allemaal,

Ik importeer een csv bestand in mijn programmaatje en deze komt netjes in een datagridview. Dit werkt allemaal. Nu wil ik deze rijen uit de datagridview importeren in een sqlce database met deze code:
Code:
 Try

            Dim constring As String = "DATA SOURCE = Data.sdf"
            Dim con As New SqlCeConnection(constring)

            Dim cmd As New SqlCeCommand("INSERT INTO leden (Lidnummer, Achternaam, Voornaam, Adres, Postcode, Woonplaats, Telefoonnummer, Email, Geboortedatum, Geslacht," & _
                                        "Lidtype, DatumAanmelding, Gironummer, Banknummer, Lidstatus, DatumAfmelding, Verzoek, Herinnering, Betaald, Opmerkingen)" & _
                                        "VALUES (@Lidnummer, @Achternaam, @Voornaam, @Straat, @Postcode, @Plaats, @Telefoonnummer, @Email, @Geboortedatum, @Geslacht," & _
                                        "@Lidtype, @DatumAanmelding, @Gironummer, @Banknummer, @Lidstatus, @DatumAfmelding, @Verzoek, @Herinnering, @Betaald, @Opmerkingen)", con)
            con.Open()

            cmd.Parameters.Add("@Lidnummer", SqlDbType.NVarChar, 6)
            cmd.Parameters.Add("@Achternaam", SqlDbType.NVarChar, 100)
            cmd.Parameters.Add("@Voornaam", SqlDbType.NVarChar, 100)
            cmd.Parameters.Add("@Straat", SqlDbType.NVarChar, 100)
            cmd.Parameters.Add("@Postcode", SqlDbType.NVarChar, 7)
            cmd.Parameters.Add("@Plaats", SqlDbType.NVarChar, 100)
            cmd.Parameters.Add("@Telefoonnummer", SqlDbType.NVarChar, 16)
            cmd.Parameters.Add("@Email", SqlDbType.NVarChar, 100)
            cmd.Parameters.Add("@Geboortedatum", SqlDbType.NVarChar, 100)
            cmd.Parameters.Add("@Geslacht", SqlDbType.NVarChar, 6)
            cmd.Parameters.Add("@Lidtype", SqlDbType.NVarChar, 20)
            cmd.Parameters.Add("@DatumAanmelding", SqlDbType.NVarChar, 100)
            cmd.Parameters.Add("@Gironummer", SqlDbType.NVarChar, 100)
            cmd.Parameters.Add("@Banknummer", SqlDbType.NVarChar, 100)
            cmd.Parameters.Add("@Lidstatus", SqlDbType.NVarChar, 10)
            cmd.Parameters.Add("@DatumAfmelding", SqlDbType.NVarChar, 100)
            cmd.Parameters.Add("@Verzoek", SqlDbType.Bit, 1)
            cmd.Parameters.Add("@Herinnering", SqlDbType.Bit, 1)
            cmd.Parameters.Add("@Betaald", SqlDbType.Bit, 1)
            cmd.Parameters.Add("@Opmerkingen", SqlDbType.NVarChar, 255)

            cmd.Prepare()

            For Each row As DataGridViewRow In LedenDataGridView.Rows

                If (Not String.IsNullOrEmpty(row.Cells(0).Value)) Then

                    cmd.Parameters("@Lidnummer").Value = row.Cells(0).Value.ToString.Trim
                    cmd.Parameters("@Achternaam").Value = row.Cells(1).Value.ToString
                    cmd.Parameters("@Voornaam").Value = row.Cells(2).Value.ToString
                    cmd.Parameters("@Straat").Value = row.Cells(3).Value.ToString
                    cmd.Parameters("@Postcode").Value = row.Cells(4).Value.ToString
                    cmd.Parameters("@Plaats").Value = row.Cells(5).Value.ToString
                    cmd.Parameters("@Telefoonnummer").Value = row.Cells(6).Value.ToString
                    cmd.Parameters("@Email").Value = row.Cells(7).Value.ToString
                    cmd.Parameters("@Geboortedatum").Value = row.Cells(8).Value.ToString
                    cmd.Parameters("@Geslacht").Value = row.Cells(9).Value.ToString
                    cmd.Parameters("@Lidtype").Value = row.Cells(10).Value.ToString
                    cmd.Parameters("@DatumAanmelding").Value = row.Cells(11).Value.ToString
                    cmd.Parameters("@Gironummer").Value = row.Cells(12).Value.ToString
                    cmd.Parameters("@Banknummer").Value = row.Cells(13).Value.ToString
                    cmd.Parameters("@Lidstatus").Value = row.Cells(14).Value.ToString
                    cmd.Parameters("@DatumAfmelding").Value = row.Cells(15).Value.ToString
                    cmd.Parameters("@Verzoek").Value = Convert.ToBoolean(row.Cells(16).Value)
                    cmd.Parameters("@Herinnering").Value = Convert.ToBoolean(row.Cells(17).Value)
                    cmd.Parameters("@Betaald").Value = Convert.ToBoolean(row.Cells(18).Value)
                    cmd.Parameters("@Opmerkingen").Value = ""
                End If
            Next

            cmd.ExecuteNonQuery()

            Me.LedenTableAdapter.Fill(Me.DataSet.leden)

        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try



    End Sub
In principe werkt deze code, maar deze zet alleen het laatste record in de database. Wat mis ik hier?

Alvast bedankt,
Twan
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan