Powershell - Hilfe bei Änderung von Werten in Datenbank
Ich rufe mit einer UI Werte einer Tabelle(Datenbank) ab. Die Ausgabe erfolgt in einem Datagridview.
Ebenso das Filtern von bestimmten Abfragen/Werten.
Das klappt alles soweit wunderbar.
Nun sollen jedoch auch Änderungen möglich sein. Möchte ich als Beispiel im Datagridview in einer Zelle einen Wert von "1" auf "0" ändern, und ist diese Zelle in der Zeile 5, Spalte 17, die Spalte (Column) hat den Text "Rights", so wäre der Commandbefehl zur DB:
Zur Erläuerung:
$columheader_name ergibt in diesem Fall die angeklickte Spalte "Rights".
Mein Problem besteht nun darin, dass ich mich schwer darin tue, die enstprechende ID dieser Zeile zuzuordnen.
Mit anderen Worten, klicke ich als Beispiel die Spalte 17 an, ist das ja die Spalte "Rights". Die Zeile 5 umfasst einen bestimmten User. Diese Zeile hat Werte, wie z.B. ID, User, Rights, SetDate .....
Das Endergebnis soll sein, dass ich in der Zelle X den Wert ändern möchte und beim Submit verstanden wird, dass nur der Wert dieser Zelle der Zeile X und Spalte Y geändert wird. Er soll sich dabei ganz einfach auf die ID der Zeile beziehen. Denn ich schaffe es zwar der Tabelle die Änderung zu übermitteln, aber aktuell ändert er immer alle Werte von 1 auf 0 in der ganzen Spalte.
Hier mal ein Export der Datagridview-Ausgabe.
KEY ID RIGHTS User
5000759205 123 1 Denver
5000858206 181 0 Deborah
Ebenso das Filtern von bestimmten Abfragen/Werten.
Das klappt alles soweit wunderbar.
Nun sollen jedoch auch Änderungen möglich sein. Möchte ich als Beispiel im Datagridview in einer Zelle einen Wert von "1" auf "0" ändern, und ist diese Zelle in der Zeile 5, Spalte 17, die Spalte (Column) hat den Text "Rights", so wäre der Commandbefehl zur DB:
$HostUpdateHostSQL = "UPDATE $tabelle_TT SET $columheader_name='0' WHERE id='123' "
Zur Erläuerung:
$columheader_name ergibt in diesem Fall die angeklickte Spalte "Rights".
Mein Problem besteht nun darin, dass ich mich schwer darin tue, die enstprechende ID dieser Zeile zuzuordnen.
Mit anderen Worten, klicke ich als Beispiel die Spalte 17 an, ist das ja die Spalte "Rights". Die Zeile 5 umfasst einen bestimmten User. Diese Zeile hat Werte, wie z.B. ID, User, Rights, SetDate .....
Das Endergebnis soll sein, dass ich in der Zelle X den Wert ändern möchte und beim Submit verstanden wird, dass nur der Wert dieser Zelle der Zeile X und Spalte Y geändert wird. Er soll sich dabei ganz einfach auf die ID der Zeile beziehen. Denn ich schaffe es zwar der Tabelle die Änderung zu übermitteln, aber aktuell ändert er immer alle Werte von 1 auf 0 in der ganzen Spalte.
Hier mal ein Export der Datagridview-Ausgabe.
KEY ID RIGHTS User
5000759205 123 1 Denver
5000858206 181 0 Deborah
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 344947
Url: https://administrator.de/contentid/344947
Ausgedruckt am: 25.11.2024 um 09:11 Uhr
3 Kommentare
Neuester Kommentar
Papperlapapp. Das macht man heute völlig anders, indem man die Daten der Datenbank über einen DataAdapter in eine Datatable lädt welche dann als Source des Datagridviews festgelegt wird. Mit dem Dataadapter macht man dann das Update, dieser kann autoomatisch feststellen was sich an der Tabelle geändert hat, und dies zu einer SQL Query zusammensetzen, das brauchst du nicht manuell machen!
Also hier mal lesen:
Aktualisieren von Datenquellen mit DataAdapters
Gruß exguru
Also hier mal lesen:
Aktualisieren von Datenquellen mit DataAdapters
Gruß exguru
Powershell ist .NET lässt sich also fast 1:1 übernehmen von kleinen Syntaxänderungen mal abgesehen. Das Prinzip ist aber das gleiche.