Hallo an alle,
ich weiß das dieses Thema schon einige male besprochen wurde aber ich komme leider trotzdem nicht wirklich weiter und hoffe auf ein paar Tips oder Hilfe.
Bin leider noch ein wenig neu auf VB.net und deshalb hoffe ich Ihr seid nicht all zu streng mit mir
Folgende Situation:
DBControl Code ist nicht von mir erarbeitet!
Ich denke das es kein großes Problem ist aber leider komme ich selbst nicht weiter und hoffe das mir hier jemand helfen könnte um die Parameter richtig zu setzen für das Datagridview Element.
Vielen herzlichen Dank!
Gruß SW
ich weiß das dieses Thema schon einige male besprochen wurde aber ich komme leider trotzdem nicht wirklich weiter und hoffe auf ein paar Tips oder Hilfe.
Bin leider noch ein wenig neu auf VB.net und deshalb hoffe ich Ihr seid nicht all zu streng mit mir
Folgende Situation:
- Ich lade in einer Form mit Datagridview Daten einer Excel Tabelle. Das passiert mit "Imports System.Data.Oleb" das funktioniert bereits
- Weiters habe ich eine Klasse die den Zugriff auf die Datenbank liefert wiederum mit OleDbConnection (dazu habe ich diese Klasse mal als Code reingestellt) hoffe das ist ok?
- Nun in meiner Form wo das Datagridview Element enthalten ist habe ich noch button der mir diese Daten in die Datenbank übergeben soll erstellt.
DBControl Code ist nicht von mir erarbeitet!
Quellcode
- Imports System.Data.OleDb
- Public Class DBControl
- 'CREATE Your DB Connection
- Private DBCon As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" &
- "Data Source =DB_Main.accdb;")
- 'PREPARE DB COMMAND
- Private DBCmd As OleDbCommand
- 'DB DATA
- Public DBDA As OleDbDataAdapter
- Public DBDT As DataTable 'Anstatt Datatable as writem by vb.tutorial
- 'QUERY PARAMETERS
- Public Params As New List(Of OleDbParameter)
- 'QUERY STATISTICS
- Public RecordCount As Integer
- Public Exeption As String
- Public Sub ExecQuery(Query As String)
- 'RESET QUERY STATS
- RecordCount = 0
- Exeption = ""
- Try
- 'OPEN A CONNECTION
- DBCon.Open()
- 'CREATE DB COMMAND
- DBCmd = New OleDbCommand(Query, DBCon)
- 'LOAD PARAMS INTO DB COMMAND
- Params.ForEach(Sub(p) DBCmd.Parameters.Add(p))
- 'CLEAR PRARAMS LIST
- Params.Clear()
- 'EXECUTE COMMAND & FILL DATATABLE
- DBDT = New DataTable
- DBDA = New OleDbDataAdapter(DBCmd)
- RecordCount = DBDA.Fill(DBDT) 'hab ich von DBDT auf DBDS geändert?
- Catch ex As Exception
- Exeption = ex.Message
- End Try
- 'CLOSE YOUR CONNECTION
- If DBCon.State = ConnectionState.Open Then DBCon.Close()
- End Sub
- 'INCLUDE QUERY & COMMAND PARAMETERS
- Public Sub AddParam(Name As String, Value As Object)
- Dim NewParam As New OleDbParameter(Name, Value)
- Params.Add(NewParam)
- End Sub
- End Class
Quellcode
- Imports System.Data.OleDb
- Public Class ExcelImport
- Private Access As New DBControl 'Referenz zu DBControl Klasse
- Dim conn As OleDbConnection
- Dim dta As OleDbDataAdapter
- Dim dts As DataSet
- Dim excel As String
- Dim OpenFileDialog As New OpenFileDialog
- Private Sub btnImport_Click(sender As Object, e As EventArgs) Handles btnImport.Click
- Try
- OpenFileDialog.InitialDirectory = "Y:\MMM\NNN"
- OpenFileDialog.Filter = "Text Files |*.csv| Excel Dateien |* .xls| Excel Dateien |* .xlsx| Alle Dateien |*.*"
- If OpenFileDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK Then
- Dim fi As New IO.FileInfo(OpenFileDialog.FileName)
- Dim FileName As String = OpenFileDialog.FileName
- excel = fi.FullName
- conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source = " + excel + ";Extended Properties=Excel 12.0;")
- dta = New OleDbDataAdapter("SELECT * FROM [Sheet1$]", conn)
- dts = New DataSet
- dta.Fill(dts, "[Sheet1$]")
- dgvExcel.DataSource = dts
- dgvExcel.DataMember = "[Sheet1$]"
- conn.Close()
- End If
- Catch ex As Exception
- MsgBox(ex.Message)
- conn.Close()
- Exit Sub
- End Try
- End Sub
- Private Sub btnSendToAccess_Click(sender As Object, e As EventArgs) Handles btnSendToAccess.Click
- Dim DBCon As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" &
- "Data Source =DB_Main.accdb;")
- Try
- Dim i As Integer
- If MsgBox("Die Daten in Datenbank speichern?", CType(vbYesNo + vbQuestion, Global.Microsoft.VisualBasic.MsgBoxStyle)) = vbYes Then
- For i = 0 To dgvExcel.RowCount - 1
- DBCon.Open()
- 'ADD PARAMETERS
- Access.AddParam("@IBAN", dgvExcel)
- Access.AddParam("@Auszugsnummer", dgvExcel)
- Next
- End If
- Catch ex As Exception
- DBCon.Close()
- MsgBox(ex.Message, vbCritical)
- End Try
- End Sub
- End Class
Ich denke das es kein großes Problem ist aber leider komme ich selbst nicht weiter und hoffe das mir hier jemand helfen könnte um die Parameter richtig zu setzen für das Datagridview Element.
Vielen herzlichen Dank!
Gruß SW
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Silentwolf“ ()