"Concurrency Error" beim Versuch in eine Postgres Datenbank zu schreiben

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
 
Hat sich erledigt.

Ich habe eine trial Verison des Drivers von Corelab downgeloadet. Mit diesem Treiber kann man maximal 6 Felder bearbeiten.

Der Treiber Kostet 100 USD :((
 
Zurück