UpdateCommand

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    UpdateCommand

    [Hi,

    leider verstehe ich in VB.Net die einfachsten Dinge nicht: Datensätze lesen, ändern und zurückschreiben. Nach 20 Jahren VB6 ganz schön hart!

    Ich lese die Datensätze wie folgt:

    sql = "select a.* from tabts as a"
    sql = sql & " inner join tabtsabre as b"
    sql = sql & " on (b.tsnr = a.tsnr and b.sorte = a.sorte)"
    sql = sql & " where b.tsnr = a.tsnr and b.sorte = a.sorte"
    sql = sql & " and status = 1 and volumen < 1"
    dim cmd as new oledbcommand
    cmd.commandtext = sql
    con.connectionstring=constr
    dim da = new oledbDataAdapter(sql, con)
    dim ds as new dataset
    dim dt as new dataTable
    try
    con.open
    da.fill(ds)
    catch ex as exception
    messagebox.show(ex.message)
    end try
    for each dtr as datarow in dt.rows
    dtr("volumen")=5000
    next

    ' Bis hierher so weit so gut und fehlerfrei

    ' vor dem Update muss ein UpdateCommand kommen
    ' Wie schaffe ich es nur die geänderten Zeile zurückzuschreiben???

    da.Update(dt) ' läuft ohne UpdateCommand gegen die Wand

    Wie müsste der UpdateCommand lauten?

    Primary Key in tabts ist tsnr, sorte
    1. VB-Tag richtig benutzen
    2. arbeite mit typisierten Datasets. siehe dazu "Datenbank in 10 Minuten" auf Movie-Tuts. Dabei werden TableAdapter generiert, bei denen die richtigen UpdateCommands gleich mit drin sind.
    3. oder verwende CommandBuilder - CommandBuilderSample
    4. das letztlich einfachste ist glaub [VB 2008] DBExtensions
      Ist natürlich nur dann einfach, wenn man die nötigen Grundlagen beherrscht.


    Allgemein ist der Umstieg von VB6 kein Umstieg, sondern ein Neuanfang von vorn, sogar ein erschwerter.
    Weil du wirst automatisch zu überkommenem greifen, und schlimmerweise geht das sogar, nur ausnahmslos in jedem Falle schlechter als die aktuelle Technologie.
    Und indem du mit dem überkommenen weiter-wurstelst, gehts auf Holzwegen immer tiefer in den Wald, und du wirst ein grauenhaft mieser Programmierer ;).

    Also wennde gscheit proggen lernen willst, musste dieses Buch Lesen, geht kein weg drumrum.

    UpdateCommand

    Hallo ErfinderdesRads,

    hört sich gut an, habe die alltogether.zip geladen, entpackt und nach Vb 2010 konvertiert, erhalte folgende Fehlermeldungen:

    AlignOnTop ist kein Member von Nothwind.frmAccess
    HandleFormClosing ist kein Member von NorthWind.NNorthWindDts
    Save ist kein Member von Northwind.NorthwindDts
    Fill ist kein Member kein Member Northwind...
    At ist kein Member von ...
    Option strict lässt spätes Binden nicht zu
    Die Komponente DBExtensions wurde nicht gefunden
    Die Komponente GeneralHelpers wurde nicht gefunden
    And is kein Member von String