Hallo Ihrs ![:)](https://www.vb-paradise.de/wcf/images/smilies/smile.png)
Momentan habe ich ein Problem mit dem Updaten des Datagridviews.
Mit Text, sowie Varchar(100) getestet:
Jedes mal wenn eine der Textspalten eine Leerstelle enthält,
FALSCH: Was muss man bei DateTime und Date - Spalten einrichten, dass es richtig geupdated wird?
will die DGV-Routine nicht mehr den Update der DB fahren.
Dieser Fehler tritt sonst nicht auf.
Da einige dieser Text-Zeilen Informationen sind, dürfen (müssen) diese auch Leerstellen enthalten.
Wie kann man diesen Fehler umgehen?
Bild des DataGridViews:
![](/img-proxy-lite.php?url=http://fs2.directupload.net/images/150603/embfwtem.jpg)
Bild der Fehlermeldung:
![](/img-proxy-lite.php?url=http://fs1.directupload.net/images/150603/vfun2fze.jpg)
Ebenfalls:
Wie mache ich ein DGV mit mehreren Tabellen
inklusive INNER JOIN
und automatisiertem Updaten
der betroffenen Tabellen im DGV?
Wie man den SQL-Befehl selbst mit INNER JOIN selbst schreibt, ist mir bekannt.
![:)](https://www.vb-paradise.de/wcf/images/smilies/smile.png)
Momentan habe ich ein Problem mit dem Updaten des Datagridviews.
Jedes mal wenn eine der Textspalten eine Leerstelle enthält,
will die DGV-Routine nicht mehr den Update der DB fahren.
Dieser Fehler tritt sonst nicht auf.
Da einige dieser Text-Zeilen Informationen sind, dürfen (müssen) diese auch Leerstellen enthalten.
Wie kann man diesen Fehler umgehen?
Bild des DataGridViews:
![](/img-proxy-lite.php?url=http://fs2.directupload.net/images/150603/embfwtem.jpg)
Bild der Fehlermeldung:
![](/img-proxy-lite.php?url=http://fs1.directupload.net/images/150603/vfun2fze.jpg)
Ebenfalls:
Wie mache ich ein DGV mit mehreren Tabellen
inklusive INNER JOIN
und automatisiertem Updaten
der betroffenen Tabellen im DGV?
Wie man den SQL-Befehl selbst mit INNER JOIN selbst schreibt, ist mir bekannt.
VB.NET-Quellcode
- 'Aufruf des DGV
- Private Sub tsb_Komponenten_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSB_Komponenten.Click
- 'RemoveHandler PNL_KompListe_DGVKomp.RowEnter, AddressOf PNL_KompListe_DGVKomp_RowEnter
- Dim SplitStr As Char = CChar("\")
- Dim value() = TreeView.SelectedNode.FullPath.Split(SplitStr)
- Dim MultiList As List(Of List(Of String)) = FillWithTreeViewEntries(UBound(value))
- SQLKomp.ExecQuery("SELECT * FROM Komponenten", MultiList, "BMW")
- SQLKomp.loadgrid(PNL_KompListe_DGVKomp, "BMW")
- 'AddHandler PNL_KompListe_DGVKomp.RowEnter, AddressOf PNL_KompListe_DGVKomp_RowEnter
- PNL_KompListe.BringToFront()
- End Sub
VB.NET-Quellcode
- 'Quellcode der SQLKomp-Class
- Imports System.Data
- Imports MySql.Data.MySqlClient
- Public Class C_SQLControl
- 'CONNECTION
- Private SQLCmd As MySqlCommand
- 'SQL DATA
- Public SQLDA As New MySqlDataAdapter
- Public SQLDS As DataSet
- 'QUERY PARAMETERS
- Public params As New List(Of MySqlParameter)
- 'QUERY STATISTICS
- Public RecordCount As Integer
- Public Exception As String
- Public Sub ExecQuery(ByVal Query As String, ByVal Multilist As List(Of List(Of String)), ByVal DBSTR As String)
- Dim SQLCon As New MySqlConnection("server=192.168.20.181;Port=3306; User ID = User123456 password=PW123456 ; database=" & DBSTR & ";Convert Zero Datetime=True")
- Try
- SQLCon.Open()
- 'Create SQL COMMAND
- SQLCmd = New MySqlCommand(Query, SQLCon)
- Try
- For Each n In Multilist
- SQLCmd.Parameters.AddWithValue("@" & n(0), n(1))
- Next
- Catch ex As Exception
- 'NO PARAMETERS GIVEN :(
- End Try
- 'LOAD PARAMETERS INTO SQL COMMAND
- params.ForEach(Sub(x) SQLCmd.Parameters.Add(x))
- 'CLEAR PARAMETERS LIST
- params.Clear()
- 'EXECUTE COMMAND AND FILL DATASET
- SQLDS = New DataSet
- SQLDA = New MySqlDataAdapter(SQLCmd)
- RecordCount = SQLDA.Fill(SQLDS)
- SQLCon.Close()
- Catch ex As Exception
- Exception = ex.Message
- MsgBox(Exception)
- End Try
- If SQLCon.State = ConnectionState.Open Then SQLCon.Close()
- End Sub
- Public Sub loadgrid(ByVal dgv As DataGridView, ByVal DBStr As String)
- Dim SQLCon As New MySqlConnection("server=192.168.20.181;Port=3306; User ID=User123456 password=PW123456; database=" & DBSTR & ";Convert Zero Datetime=True")
- 'IF DATA IS RETURNED THEN POPULATE GRID AND BUILD UPDATE COMMAND
- ' If RecordCount > 0 Then
- dgv.DataSource = SQLDS.Tables(0)
- dgv.Rows(0).Selected = True
- 'DYNAMICALLY GENERATES UPDATE SCRIPT FOR ALL MODIFIED ENTRIES IN DGV
- SQLDA.UpdateCommand = New MySqlCommandBuilder(SQLDA).GetUpdateCommand
- ' End If
- End Sub
- End Class
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Gunngir“ ()