Hallo.
Ich hab ein Problem mit dem Update eines DataGridViews.
Ich verwende das ganze mit MySQL unter VB2008
Mein Problem besteht beim Update. Das auslesen der Daten geht ohne Probleme aber beim Update bekomme ich diesen Fehler:
Hier ist mein Code dazu:
Wie kann ich diesen Fehler umgehen?
Vielen Dank.
Ich hab ein Problem mit dem Update eines DataGridViews.
Ich verwende das ganze mit MySQL unter VB2008
Mein Problem besteht beim Update. Das auslesen der Daten geht ohne Probleme aber beim Update bekomme ich diesen Fehler:
Dynamische SQL-Generierung wird gegen mehrere Basistabellen nicht unterstützt.
Hier ist mein Code dazu:
Code:
Imports MySql
Imports MySql.Data
Imports MySql.Data.MySqlClient
Public Class Verwalten
'MySQL deklarieren
Dim conn As New MySqlConnection("server=IP;user id=USER;password=PW;database=DB")
Dim myCommand As New MySqlCommand
Dim myAdapter As New MySqlDataAdapter
Dim myReader As MySqlDataReader
Dim myData As New DataTable
Dim myDataGrid As DataGridView 'neu
Dim myDataView As DataView 'neu
Dim myDataSet As DataSet 'neu
Dim vSQL As New String(Nothing)
Private Sub Verwalten_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
myAdapter = New MySqlDataAdapter("", conn)
myAdapter.SelectCommand.CommandText = "SELECT DISTINCT Personen.Id, Personen.Titel, Personen.Vorname, Personen.Nachname, Personen.Geb, Personen.Strasse, Personen.PLZ, Personen.Ort, Personen.Email, Personen.Tel, Listennamen.Name FROM Personen INNER JOIN Maillisten ON Personen.Id = Maillisten.P_Id INNER JOIN Listennamen ON Listennamen.Id = Maillisten.L_Id ORDER BY Personen.Id ASC"
myAdapter.SelectCommand.CommandType = CommandType.Text
myDataSet = New DataSet("Personen")
myData = New DataTable("Personen")
myDataSet.Tables.Add(myData)
myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
myAdapter.Fill(myData)
myDataView = New DataView(myData)
myDataGrid = New DataGridView
With DG_Verwalten
.DataSource = myDataView
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells
.RowsDefaultCellStyle.BackColor = Color.Gray
.AlternatingRowsDefaultCellStyle.BackColor = Color.WhiteSmoke
End With
Catch ex As Exception
MsgBox("Verbindung zum Server konnte nicht aufgebaut werden.", MsgBoxStyle.Critical, Title:="Information")
End Try
End Sub
Private Sub B_Speichern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B_Speichern.Click
Dim cmdb As MySqlCommandBuilder
cmdb = New MySqlCommandBuilder(myAdapter)
myAdapter.Update(myData)
End Sub
End Class
Wie kann ich diesen Fehler umgehen?
Vielen Dank.