Hallo Leute ,
ich habe ein Riesenproblem.
Ich arbeite mit VB2008. Zur Vorbereitung der Datenanbindung habe ich den Datasetdesigner von VB verwendet und da ca. 35 Tableadapter definiert.
In meinen Masken verwende ich Bindingsources. Über die Desingdefinition lege ich Datasource = meinem Dataset (entsprechend Definition im Datasetdesigner), Datamember=entsprechende Tabelle aus Dataset.
Damit wird dann ganz automatisch eine Fillanweisung im Load-Event der Form erzeugt
Dann definiere ich einen Commandbuilder, um die Datenänderungen gestzuhalten
Natürlich habe ich die Maske schön mit Feldern bestückt und die Databindings aus meiner Bindinsource zugewiesen.
Nach der Änderung der Daten speicher ich mit folgender Prozedur
....
Probleme:
1.
Die Änderungen werden gespeichert - das kann ich in der Datenbank nachvollziehen. Aber bei einem Neuaufruf der Maske werden die Daten nicht bzw. nicht vollständig angezeigt? Das wird auch nicht besser, wenn ich die Applikation schließe und dann neu starte.
Zugegeben, die zugrunde liegende Tabelle hat 181 Spalten. Allerdings konnte ich in VB keine Einschränkung der Methoden finden, wenn die Spaltenzahl so enorm ist.
2.
Manchmal erkennt der Bursche die gemachten Änderungen gar nicht. Also mein dt1 bleibt nothing.
Mit der Bitte um Unterstüztung und so weiter --- Vielen Dank
ich habe ein Riesenproblem.
Ich arbeite mit VB2008. Zur Vorbereitung der Datenanbindung habe ich den Datasetdesigner von VB verwendet und da ca. 35 Tableadapter definiert.
In meinen Masken verwende ich Bindingsources. Über die Desingdefinition lege ich Datasource = meinem Dataset (entsprechend Definition im Datasetdesigner), Datamember=entsprechende Tabelle aus Dataset.
Damit wird dann ganz automatisch eine Fillanweisung im Load-Event der Form erzeugt
Code:
'TODO: Diese Codezeile lädt Daten in die Tabelle "DS.tblmeineTabelle". Sie können sie bei Bedarf verschieben oder entfernen. Me.TblMeineTableAdapter.Fill(Me.DS.tblMeineTabelle)
Code:
Dim cmb As DbCommandBuilder = New SqlCommandBuilder cmb.DataAdapter = TblMeineTabelleTableAdapter.Adapter
Nach der Änderung der Daten speicher ich mit folgender Prozedur
....
Code:
Me.bs_MeineTabelle.EndEdit() Dim dt1 As DataTable = Me.DS.tblMeineTabelle.GetChanges Try If dt1 IsNot Nothing Then MeineTabelleTableAdapter.Update(DS) End If Catch ex As DBConcurrencyException MsgBox("Der Datensatz wurde durch einen anderen User geändert. Ein Neuaufruf ist erforderlich!", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "Datenkonflikt") usw..
1.
Die Änderungen werden gespeichert - das kann ich in der Datenbank nachvollziehen. Aber bei einem Neuaufruf der Maske werden die Daten nicht bzw. nicht vollständig angezeigt? Das wird auch nicht besser, wenn ich die Applikation schließe und dann neu starte.
Zugegeben, die zugrunde liegende Tabelle hat 181 Spalten. Allerdings konnte ich in VB keine Einschränkung der Methoden finden, wenn die Spaltenzahl so enorm ist.
2.
Manchmal erkennt der Bursche die gemachten Änderungen gar nicht. Also mein dt1 bleibt nothing.
Mit der Bitte um Unterstüztung und so weiter --- Vielen Dank
Comment