UPDATE macht Probleme!!

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Tomodachi.

    UPDATE macht Probleme!!

    Hallo liebe Leute,

    bin Neuling in V.NET, deshalb habe ich mir ein Buch von Markt&Tehnik gekauft, KANN AUCH DAS BEISPIEL ABTIPPEN und bekomme trotzdem eine Fehlermeldung:

    "Aktualisierung erfordert einen gültigen Insertcommand, wenn eine DataRow-Auflistung mit neuen Zeilen weier gegeben wird."

    Dieser Fehler tritt auf bei dem Befehl:

    Dim Anzahl As Integer = Data.Update(Originaltabelle)

    (Ich möchte im Anschlus die Anzahl der hinzugefügten Datensätze ausgeben).

    Ich habe zunächst das Beispiel im Buch (Jetzt lerne ich Visual Basic 2008, Autor Peter Moandjemi, Seite 325-330) eingegeben und solange ich nur eine Tabelle der DB aktualisiert habe, hat es funktioniert!

    Dazu war obiger Befehl, der jetzt Mucken macht, hinter einer Button-Click Prozedur eingebaut, welche als erste Zeile den CommandBuilder aktivierte mit:

    Dim Cb as New SqLCommandBuilder(Data)

    Soweit, so gut.

    Setzt sich nun die Abfrage aus mehreren Tabellen zu8sammen, so musste man zunächst die SELECT-Anweisung abändern (ok, hat auch funktioniert), aber "der kleine CommandBuilder ist hoffnungslos überfordert und so muß man selber ein eigenes Update-Kommando zusammenbauen.

    Seit ich dieses nun abgetippt habe und vor die oben genannte Zeile eingefügt habe, gibt die Fehlermeldung! Natürlich habe ich den CommandBuilder auskommentiert! Hier vielleicht mal der Befehl

    DIM Updatecmd as SqlCommand = Cn.CreateCommand

    Updatecmd.CommandText = "Update Beleg SetBetrag=@Betrag,Datum=@Datum,Beschreibung=@Beschreibung WHERE BelegNr=@BelegNr"
    Updatecmd.Parameters.Add("BelegNr", SqlDBType.Int, 0, "BelegNr")
    Updatecmd. ...die anderen Tabellenfelder
    Data.UpdateCommand = Updatecmd

    So und nun folgt oben beschriebene Zeile, bei der die Fehlermeldung auftritt.

    Was fällt mir noch ein? Bei den DB-Eigenschaften habe ich die Eigenschaft: "Im Ausgabeverzeichnis" auf "kopieren, wenn neuer" gesetzt. Nun weiß ich nicht mehr weiter...

    Ich hoffe, Ihr könnt was mit meinen Angaben anfangen. Bin Anfänger, vielleicht habe ich ne weitere Einstellung vergessen, denn abgetippt hab ich korrekt, es lief ja bis zu dem Zeitpunkt, da ich nur eine Tabelle aktualisiert habe.

    Grüße, Lars