Announcement

Collapse
No announcement yet.

typisierte Datasets

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • typisierte Datasets

    Hallo,

    beim erstmaligen Arbeiten mit typisierten Datasets hat sich folgendes Problem ergeben:

    Ich habe ein Form mit VB.NET erstellt. Mit Hilfe des Designers habe ich ein Dataset erstellt und mit der Eigenschaft DataBindings an die jeweiligen Textboxen gebunden.
    Nach füllen des Datasets mit
    Code:
    Me.FahrerbewerbungenTableAdapter.Fill(Me.Kraftfahrer.fahrerbewerbungen)
    erhalte ich in den Feldern auch den Inhalt der Datenbank. Auch das Blättern zwischen den Sätzen funktioniert.
    Wenn ich jetzt aber die Änderungen in die DB zurückschreiben will
    Code:
    Me.FahrerbewerbungenTableAdapter.Update(Me.Kraftfahrer.fahrerbewerbungen)
    dann hat das keinen Effekt. Kann mir jemand weiterhelfen?

  • #2
    Hallo,

    wie sieht der SELECT-Befehl aus, der sich hinter dem Fill versteckt?

    Hintergrund: Der TableAdapter braucht für den Update-Befehl jeweils einen passenden InsertCommand, UpdateCommand, DeleteCommand. Diese kann er sich selbst basteln, aber nur dann, wenn das SELECT keinen JOIN benutzt und in der Spaltenliste der PrimaryKey enthalten ist. Wenn eine dieser beiden Bedingungen nicht erfüllt ist, geht es nicht automatisch.

    Du kannst auch per Debugger feststellen, wie diese Befehlstexte zum Zeitpunkt des Update aussehen.

    Wie es manuell ginge, kann ich für das "normale" typ. DataSet sagen. Aber der TableAdapter versteckt noch so viele Sachen, dass ich dazu keine weiteren Hinweise geben könnte.

    Vielleicht hilft das schon. Jürgen

    Comment


    • #3
      Hallo,

      beide Bedingungen sind erfüllt.
      In den entsprechenden Eigenschaften Adapter.UpdateCommand.CommandText ist zur Laufzeit auch ein SQL-Statement enthalten.

      Comment


      • #4
        Hallo,

        habe die Lösung gefunden:

        Vor dem Update musste ich noch ein Me.Validate() einfügen.

        Comment

        Working...
        X