DevTips.NET Logo

Je bent niet ingelogd. Login

Importeer CSV bestanden in MS Access

jouw beoordeling:

De voorbeeldcode laat in het kort zien hoe je een CSV bestand kunt importeren in een Access database. De Access database heeft een tabel met de naam BOEKPRIJZEN. Deze tabel bevat een autonummerend ID, BOEKTITEL en PRIJS veld. Het CSV bestand bevat boektitel en de prijs. In enkele aparte variabelen is vastgesteld wat de connectiestring is, het bronbestand en het scheidingsteken. Met behulp van de ActiveCulture variabele kunnen we instellen welke notatie voor datum en decimale getallen in het bronbestand gehanteerd wordt.

VB.NET

Imports System.Data

Imports System.Data.OleDb

Imports System.IO

 

Public Class MainApp

 

    ' globaal zetten we wat variabelen; deze kunnen natuurlijk ook

    'uit een configuratiebestand komen

    Private Shared ConnectionString As String = _

        "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\VSPROJECTS\LivresDB\LivresDB.mdb;"

    Private Shared SourceFileCsv As String = "C:\temp\import.csv"

    Private Shared SeperatorChar As String = ","

    Private Shared ActiveCulture As String = "en-US"

 

    ' dit is het beginpunt van de applicatie

    Public Shared Sub Main()

 

        ' zet de culture van de actieve thread op engels/amerikaans

        System.Threading.Thread.CurrentThread.CurrentCulture = _

            New System.Globalization.CultureInfo(ActiveCulture)

        ' bereid de connectie en het insertstatement voor

        Dim DbConn As New OleDbConnection(ConnectionString)

        Dim InsertCommand As New _

            OleDbCommand("INSERT INTO BOEKPRIJZEN(BOEKTITEL,PRIJS) VALUES(?,?)", DbConn)

 

        DbConn.Open()

 

        'open het bronbestand

        Dim SourceReader As TextReader = File.OpenText(SourceFileCsv)

 

        'doorloop de regels in het bestand

        While SourceReader.Peek() > -1

            InsertCommand.Parameters.Clear()

            Dim Values() As Object = SourceReader.ReadLine.Split(SeperatorChar)

            InsertCommand.Parameters.Add(New OleDbParameter("?", Values(0)))

            InsertCommand.Parameters.Add(New OleDbParameter("?", Convert.ToDouble(Values(1))))

            InsertCommand.ExecuteNonQuery()

        End While

 

        'sluit de databaseverbinding en het bronbestand

        DbConn.Close()

        SourceReader.Close()

 

    End Sub

 

End Class

 

  • Bijlagen: geen
  • Meer informatie:

Gepubliceerd op zondag 10 april 2005 door Sander


Commentaar



Reageer

Naam:

Jouw url (optioneel):

Commentaar:

HIP Voer de code in: