Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Leute,

für alle die nur darauf warten das ich eine neue Frage stelle (:)), hier meine "Freitags-Frage":

Ich möchte eine Zeile im DataSet ändern, hier der Code (der funktioniert) um eine Zeile zu ändern die aufgrund eines ListBox-Eintrags geändert wird:


Dim dblPos As Double

dblPos = Me.BindingContext(Me.DataView1).Position

With DataSet21.Tables("Prozessdaten 2641").Rows(dblPos)

.Item("freig PCD") = "x"

.Item("status") = "1"

End With

OleDbDataAdapter1.Update(DataSet21, "Prozessdaten 2641")

Theoretisch müsste es ja einfacher sein das DataSet ohne ListBox-Eintrag zu ändern, einfach in dem ich den PKey der Tabelle angebe und diese Zeile dann wie ich es möchte verändert wird.

Nur wie kann ich das dann angeben??

Danke im voraus.

Viele Grüße

Informatikerin

Geschrieben

Hallo Leute,

ich hab das schon mal mit der OleDbCOmmand versucht, es hat bei mir leider nicht funktioniert. Das ist mein Code:


Me.OleDbDataAdapter1.Fill(DataSet31)

        Dim cmd As OleDb.OleDbCommand

        Dim cmdtest As OleDb.OleDbCommandBuilder

        Dim parm As OleDb.OleDbParameter


        cmd = New OleDb.OleDbCommand("UPDATE Prozessdaten 2641 SET status = 3" & _

                             "WHERE SAP-Nr = 4444", Me.OleDbConnection1)


        'cmd.Parameters.Add("@CompanyName", OleDb.OleDbType.VarChar, 8, "CompanyName")

        'parm = cmd.Parameters.Add("@oldCustomerID", OleDb.OleDbType.VarChar.Char, 8, "CustomerID")

'gefunden bei Msdn


        Me.OleDbDataAdapter1.UpdateCommand = cmd

        OleDbDataAdapter1.Update(DataSet31, "Prozessdaten 2641")


        MsgBox("Das PDB mit der SAP-Nr: " & strSuchText & " wurde archiviert", MsgBoxStyle.Information, "Information")

Weiß vielleicht jemand wo mein Fehler liegt? Die Anwendung sagt gar nichts, es passiert einfach nur nichts in der DB.

Danke im voraus :)

Viele Grüße informatikerin

Geschrieben

        cmd = New OleDb.OleDbCommand("UPDATE Prozessdaten 2641 SET status= @statusOrg WHERE SAP-NR = " & strSuchText, Me.OleDbConnection1)


        cmd.Parameters.Add("@status", OleDb.OleDbType.Integer, 8, "3")

        parm = cmd.Parameters.Add("@statusOrg", OleDb.OleDbType.Integer, 8, "status")

klappt aber immer noch nicht

Geschrieben

Weiß vielleicht jemand wo mein Fehler liegt? Die Anwendung sagt gar nichts, es passiert einfach nur nichts in der DB.

Das DataSet wird aber geändert?

Evtl. ist der DataAdapter geschlossen (wobei, dann sollte eigentlich eine Exception kommen).

Geschrieben

Hallo,

ich hab jetzt nen kompletten "Work-around" gefunden, kein Eingabefeld das erst mit der DB "verknüpft" werden muss sondern eine ComboBox die als Source mein DataView hat. Nun kann ich wieder den Code aus meinem ersten Post benutzen.

Eigentlich ist das auch die bessere Lösung, da ich dann nicht zig if-abfragen machen muss und vorgegebene (richtige) werte einfacher sind wenn man sie auswählen kann.

Trotzdem vielen Dank TDM für deine Hilfe!

Lg Simone

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...