Hi,
ich bin noch relativ frisch in der Programmierszene und muss mich auf der Arbeit im Moment mit einer Datenbank auseinandersetzen. Ich habe jetzt ein "Programm" geschrieben, welches die Datenbank zwar auslesen kann, aber ich schaffe es nicht einen dynamischen Updatecommand einzubauen, sodass erkannt wird, welches Feld gerade angeklickt ist er in dieser Zeile, das bestimmte Feld füllen soll.
Bzw. im Moment passiert einfach gar nichts :-D.
Ich hoffe doch ihr könnt mir weiterhelfen.
Danke im voraus!
hoobeN
Public Class fOlay
Private Sub DbGetData(ByVal Table As String, ByVal grid As DataGridView)
' Verbindung zur Datenbank herstellen
Dim myOleDbConnection As New OleDb.OleDbConnection
myOleDbConnection.ConnectionString = _
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""C:\Users\AT21572\Documents\Geraetedatenbank\Geraetedatenbank_test_SQL - Copy.accdb"""
Try
myOleDbConnection.Open()
Catch ex As Exception
MessageBox.Show(ex.Message, _
"Beim Öffnen der Datenbank ist ein Fehler aufgetreten.")
End Try
' SelectCommand erstellen welches die "Select-Abfrage" gegen die
' Datenbank beinhaltet
Dim myOleDbSelectCommand As New OleDb.OleDbCommand
myOleDbSelectCommand.Connection = myOleDbConnection
myOleDbSelectCommand.CommandText = "select * from " & Table
' DataAdapter mit dem SelectCommand verbinden
Dim myOleDbDataAdapter As New OleDb.OleDbDataAdapter
myOleDbDataAdapter.SelectCommand = myOleDbSelectCommand
' und mit dem DataAdapter das DataSet füllen
Dim myDataSet As New DataSet
myOleDbDataAdapter.Fill(myDataSet, Table)
' Daten an das DataGridView binden
grid.DataSource = myDataSet
grid.DataMember = Table
End Sub
Private Sub DbUpdate(ByVal Table As String, ByVal grid As DataGridView)
' Verbindung zur Datenbank herstellen
Dim myOleDbConnection As New OleDb.OleDbConnection
myOleDbConnection.ConnectionString = _
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""C:\Users\AT21572\Documents\Geraetedatenbank\Geraetedatenbank_test_SQL - Copy.accdb"""
Try
myOleDbConnection.Open()
Catch ex As Exception
MessageBox.Show(ex.Message, _
"Beim Öffnen der Datenbank ist ein Fehler aufgetreten.")
End Try
' SelectCommand erstellen welches die "Select-Abfrage" gegen die
' Datenbank beinhaltet
Dim myOleDbSelectCommand As New OleDb.OleDbCommand
myOleDbSelectCommand.Connection = myOleDbConnection
myOleDbSelectCommand.CommandText = "UPDATE " & Table & "SET " & grid.CurrentCell.ToString() = grid.CurrentCell.Value.ToString() & "WHERE " & _
grid.CurrentCellAddress.X.ToString() = grid.CurrentCell.ColumnIndex.ToString()
' DataAdapter mit dem SelectCommand verbinden
Dim myOleDbDataAdapter As New OleDb.OleDbDataAdapter
myOleDbDataAdapter.UpdateCommand = myOleDbSelectCommand
' und mit dem DataAdapter das DataSet füllen
Dim myDataSet As New DataSet
myOleDbDataAdapter.Fill(myDataSet, Table)
' Daten an das DataGridView binden
grid.DataSource = myDataSet
grid.DataMember = Table
End Sub
Private Sub butGetData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TabControl1.SelectedTab Is tabGeraet Then
DbGetData("Geraete", gGeraet)
ElseIf TabControl1.SelectedTab Is tabMa Then
DbGetData("Mitarbeiter", gMa)
ElseIf TabControl1.SelectedTab Is tabVertrag Then
DbGetData("Vertrag", gVertrag)
ElseIf TabControl1.SelectedTab Is tabStandort Then
DbGetData("Standorte", gStandort)
End If
End Sub
Private Sub butPrep_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butPrep.Click
If TabControl1.SelectedTab Is tabGeraet Then
DbUpdate("Geraete", gGeraet)
ElseIf TabControl1.SelectedTab Is tabMa Then
DbUpdate("Mitarbeiter", gMa)
End If
End Sub
End Class
ich bin noch relativ frisch in der Programmierszene und muss mich auf der Arbeit im Moment mit einer Datenbank auseinandersetzen. Ich habe jetzt ein "Programm" geschrieben, welches die Datenbank zwar auslesen kann, aber ich schaffe es nicht einen dynamischen Updatecommand einzubauen, sodass erkannt wird, welches Feld gerade angeklickt ist er in dieser Zeile, das bestimmte Feld füllen soll.
Bzw. im Moment passiert einfach gar nichts :-D.
Ich hoffe doch ihr könnt mir weiterhelfen.
Danke im voraus!
hoobeN
Public Class fOlay
Private Sub DbGetData(ByVal Table As String, ByVal grid As DataGridView)
' Verbindung zur Datenbank herstellen
Dim myOleDbConnection As New OleDb.OleDbConnection
myOleDbConnection.ConnectionString = _
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""C:\Users\AT21572\Documents\Geraetedatenbank\Geraetedatenbank_test_SQL - Copy.accdb"""
Try
myOleDbConnection.Open()
Catch ex As Exception
MessageBox.Show(ex.Message, _
"Beim Öffnen der Datenbank ist ein Fehler aufgetreten.")
End Try
' SelectCommand erstellen welches die "Select-Abfrage" gegen die
' Datenbank beinhaltet
Dim myOleDbSelectCommand As New OleDb.OleDbCommand
myOleDbSelectCommand.Connection = myOleDbConnection
myOleDbSelectCommand.CommandText = "select * from " & Table
' DataAdapter mit dem SelectCommand verbinden
Dim myOleDbDataAdapter As New OleDb.OleDbDataAdapter
myOleDbDataAdapter.SelectCommand = myOleDbSelectCommand
' und mit dem DataAdapter das DataSet füllen
Dim myDataSet As New DataSet
myOleDbDataAdapter.Fill(myDataSet, Table)
' Daten an das DataGridView binden
grid.DataSource = myDataSet
grid.DataMember = Table
End Sub
Private Sub DbUpdate(ByVal Table As String, ByVal grid As DataGridView)
' Verbindung zur Datenbank herstellen
Dim myOleDbConnection As New OleDb.OleDbConnection
myOleDbConnection.ConnectionString = _
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""C:\Users\AT21572\Documents\Geraetedatenbank\Geraetedatenbank_test_SQL - Copy.accdb"""
Try
myOleDbConnection.Open()
Catch ex As Exception
MessageBox.Show(ex.Message, _
"Beim Öffnen der Datenbank ist ein Fehler aufgetreten.")
End Try
' SelectCommand erstellen welches die "Select-Abfrage" gegen die
' Datenbank beinhaltet
Dim myOleDbSelectCommand As New OleDb.OleDbCommand
myOleDbSelectCommand.Connection = myOleDbConnection
myOleDbSelectCommand.CommandText = "UPDATE " & Table & "SET " & grid.CurrentCell.ToString() = grid.CurrentCell.Value.ToString() & "WHERE " & _
grid.CurrentCellAddress.X.ToString() = grid.CurrentCell.ColumnIndex.ToString()
' DataAdapter mit dem SelectCommand verbinden
Dim myOleDbDataAdapter As New OleDb.OleDbDataAdapter
myOleDbDataAdapter.UpdateCommand = myOleDbSelectCommand
' und mit dem DataAdapter das DataSet füllen
Dim myDataSet As New DataSet
myOleDbDataAdapter.Fill(myDataSet, Table)
' Daten an das DataGridView binden
grid.DataSource = myDataSet
grid.DataMember = Table
End Sub
Private Sub butGetData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TabControl1.SelectedTab Is tabGeraet Then
DbGetData("Geraete", gGeraet)
ElseIf TabControl1.SelectedTab Is tabMa Then
DbGetData("Mitarbeiter", gMa)
ElseIf TabControl1.SelectedTab Is tabVertrag Then
DbGetData("Vertrag", gVertrag)
ElseIf TabControl1.SelectedTab Is tabStandort Then
DbGetData("Standorte", gStandort)
End If
End Sub
Private Sub butPrep_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butPrep.Click
If TabControl1.SelectedTab Is tabGeraet Then
DbUpdate("Geraete", gGeraet)
ElseIf TabControl1.SelectedTab Is tabMa Then
DbUpdate("Mitarbeiter", gMa)
End If
End Sub
End Class