import in sql

Status
Niet open voor verdere reacties.

mustangBE

Gebruiker
Lid geworden
2 jun 2007
Berichten
349
hallo

ik zou gegevens uit een xlsx file willen importeren in mijn vb2008 appl. met sql DB.
ik heb al verschillende lange code's gevonden , maar weet niet waar te beginnen.
kan iemand eenvoudig uitleggen hoe ik te werk ga ?
voeg ik de code toe in een button om te importeren ?

alle uitleg die ik vind zijn pure code's , maar nergens waar je de code in plaatst.

ik zou 1 malig een xlsx file moeten inladen.
vroeger in acces deed ik dat met copy/past , maar dat lukt hier blijkbaar niet

kan er iemand a.u.b. helpen , ben al lang aan het zoeken:confused::confused::confused:
 
Hi Probeer dit eens maar let op voor inport moet het een als Excel, xls opgeslagen worden


plaats dit in (Public Class Form1)
Code:
#Region "Importeer artikelen uit Excel"

    Private Sub ImportToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ImportToolStripMenuItem.Click
        Load_Excel()
    End Sub



    Private Sub Load_Excel()
        Dim opendlg As New OpenFileDialog
        opendlg.Filter = "Excel Files (*.xls)|*.xls|All Files (*.*)|*.*"

        If opendlg.ShowDialog() = Windows.Forms.DialogResult.OK Then
            Dim pathandfile As String = opendlg.FileName
            Dim connection As OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;" & "data source=" & pathandfile & ";Extended Properties=Excel 8.0;")
            Dim Command = New OleDb.OleDbCommand("select * from [Blad1$]", connection)

            connection.Open()
            Dim dr As Data.IDataReader = Command.ExecuteReader
            Dim bulkCopy As SqlClient.SqlBulkCopy = New SqlClient.SqlBulkCopy("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Gas.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
            bulkCopy.DestinationTableName = "Gas"
            bulkCopy.WriteToServer(dr)

            Dim adapter As System.Data.OleDb.OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter("select * from [Blad1$]", connection)
            adapter.Fill(Me.GasDataSet.Gas)
            connection.Close()

        End If
    End Sub

#End Region
 
dank u voor de reactie.

ik heb de code aangepast aan mijn appl.
maar krijg een fout op
adapter.Fill(Me.Database1dataset.tabel2)
'Database1dataset' is not a member of 'Cataloog.Form1'. C:\Documents and Settings\kim\Mijn documenten\Visual Studio 2008\Projects\Cataloog\Cataloog\Form1.vb



Public Class Form1
#Region "Importeer artikelen uit Excel"


Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
Load_excel()
End Sub

Private Sub Load_Excel()
Dim opendlg As New OpenFileDialog
opendlg.Filter = "Excel Files (*.xls)|*.xls|All Files (*.*)|*.*"

If opendlg.ShowDialog() = Windows.Forms.DialogResult.OK Then
Dim pathandfile As String = opendlg.FileName
Dim connection As OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;" & "data source=" & pathandfile & ";Extended Properties=Excel 8.0;")
Dim Command = New OleDb.OleDbCommand("select * from [Blad1$]", connection)

connection.Open()
Dim dr As Data.IDataReader = Command.ExecuteReader
Dim bulkCopy As SqlClient.SqlBulkCopy = New SqlClient.SqlBulkCopy("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\database1.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
bulkCopy.DestinationTableName = "tabel2"
bulkCopy.WriteToServer(dr)

Dim adapter As System.Data.OleDb.OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter("select * from [Blad1$]", connection)
adapter.Fill(Me.Database1dataset.tabel2)
connection.Close()

End If
End Sub

#End Region

End Class
 
Hi ik weet niet hoe jouw dataset is benoemd

Maar word hij wel normaal gevuld Zonder de import.
Dus als je handmatig gegevens invoerd ???
 
ik heb het gevonden , het moest Database1DataSet1 zijn.
de gegevens worden geimporteerd , maar niet automatisch opgeslagen ( hoe kan ik dat doen?) daarmee dat ik de gegevens niet vond
 
Laatst bewerkt:
Normaal zou dit wel het geval moeten zijn
en de gegevens zouden in je DB meten staan.
kijk of je wel updatecommando heb en save bv

Code:
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing

             Me.jouTableAdapter.Update(Me.joudataset.Tabel1)
     
    End Sub

en in je form_load het fill command .
Code:
  Me.JouTableAdapter.Fill(Me.JouDataSet.Tabel1)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan