makiavelli
Grünschnabel
Hallo.
Ich versuche in Vb.NET eine Client Anwendung für die Verbindung zu einer Postgresql Datenbank zu erstellen. Dabei benutze ich einen Driver von Corelab der mir die Verbindung und Operationen auf der Datenbank zur verfügung stellt.
Das Problem: Wenn ich 6 TextBoxes habe und eine Tabelle bearbeite die 6 Spalten hat funktioniert alles wunderbar. Wenn ich noch eine Spalte dazugebe, und danach noch eine Textbox, um diese Spalte bearbeiten zu können, kriege ich dei Fehlermeldung: Concurrency Error, obwohl ich der EINZIGE User bin der die Databank benutzt.
Dabei habe ich 6 Text Boxen auf meinem Form und ein Save Button:
Die TextBoxes sind mit einen DataSet verbunden.
Me.lbId().DataBindings.Add(New Binding("Text", dsPupil, "esantion.Id"))
Für den Save Button habe ich folgenden Event Handler:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
BindingContext(dsPupil, "esantion").EndCurrentEdit()
Dim m As MData = New MData
m.SaveData(dsPupil, "esantion")
MsgBox("Done")
Me.BringToFront()
Me.LoadData(Me.dsPupil)
End Sub
Und ind der Klasse MData habe ich folgende Prozedur Save Data:
Dim conn As CoreLab.PostgreSql.PgSqlConnection = GetConnection()
Try
Dim sql As String = "Select * from " + table
MsgBox(sql)
Dim da As CoreLab.PostgreSql.PgSqlDataAdapter = New CoreLab.PostgreSql.PgSqlDataAdapter(sql, conn)
Try
Dim cb As CoreLab.PostgreSql.PgSqlCommandBuilder = New CoreLab.PostgreSql.PgSqlCommandBuilder(da)
If ds.HasChanges Then
Try
da.Update(ds, table)
ds.AcceptChanges()
Catch es As Exception
MsgBox("Error", es.Message, es.Source)
Finally
End Try
End If
Finally
da.Dispose()
End Try
Tja, da komme ich einach nicht weiter
Ich versuche in Vb.NET eine Client Anwendung für die Verbindung zu einer Postgresql Datenbank zu erstellen. Dabei benutze ich einen Driver von Corelab der mir die Verbindung und Operationen auf der Datenbank zur verfügung stellt.
Das Problem: Wenn ich 6 TextBoxes habe und eine Tabelle bearbeite die 6 Spalten hat funktioniert alles wunderbar. Wenn ich noch eine Spalte dazugebe, und danach noch eine Textbox, um diese Spalte bearbeiten zu können, kriege ich dei Fehlermeldung: Concurrency Error, obwohl ich der EINZIGE User bin der die Databank benutzt.
Dabei habe ich 6 Text Boxen auf meinem Form und ein Save Button:
Die TextBoxes sind mit einen DataSet verbunden.
Me.lbId().DataBindings.Add(New Binding("Text", dsPupil, "esantion.Id"))
Für den Save Button habe ich folgenden Event Handler:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
BindingContext(dsPupil, "esantion").EndCurrentEdit()
Dim m As MData = New MData
m.SaveData(dsPupil, "esantion")
MsgBox("Done")
Me.BringToFront()
Me.LoadData(Me.dsPupil)
End Sub
Und ind der Klasse MData habe ich folgende Prozedur Save Data:
Dim conn As CoreLab.PostgreSql.PgSqlConnection = GetConnection()
Try
Dim sql As String = "Select * from " + table
MsgBox(sql)
Dim da As CoreLab.PostgreSql.PgSqlDataAdapter = New CoreLab.PostgreSql.PgSqlDataAdapter(sql, conn)
Try
Dim cb As CoreLab.PostgreSql.PgSqlCommandBuilder = New CoreLab.PostgreSql.PgSqlCommandBuilder(da)
If ds.HasChanges Then
Try
da.Update(ds, table)
ds.AcceptChanges()
Catch es As Exception
MsgBox("Error", es.Message, es.Source)
Finally
End Try
End If
Finally
da.Dispose()
End Try
Tja, da komme ich einach nicht weiter