Zum Hauptinhalt springen
Weil einfach - produktiver ist

Der Daten Spezialist

Konvertieren Sie die Daten mühelos zwischen verschiedenen Formaten ohne Programmierkenntnisse dank Visual Designer. Effizient und super einfach.
Flowheater Chart

Delete on Update

  • Daniel Griesheimer
  • Autor
  • Offline
  • Benutzer
  • Benutzer
Mehr
14 Jahre 3 Wochen her #214 von Daniel Griesheimer
Delete on Update wurde erstellt von Daniel Griesheimer
Guten Morgen,

Zu aller erst möchte ich ein Lob aussprechen.
Die Software is mit Abstand das beste MYSQL Import-Tool das ich bisher gesehen. TOP!
Flowheater wird mir in Zukunft viele Stunden an Arbeit und nerven sparen.

Eine Frage hab ich aber trotzdem :-)
ich würde gerne beim Update meiner SQL Datenbank aus einer Excelliste folgendes durchführen:

Löschen eines Datensatzes sofern ein bestimmter Wert in einer Spalte steht.


Ist das möglich?

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
14 Jahre 3 Wochen her #216 von FlowHeater-Team
FlowHeater-Team antwortete auf Aw: Delete on Update
Hallo Herr Griesheimer,

vielen Dank für das Lob, wird immer wieder gerne angenommen :)

Ihre Anforderung ist machbar, erfordert aber etwas Handarbeit. Sie benötigen dafür den .NET Script Heater , den Filter Heater und folgendes kleines C# Skript.
Code:
public object DoWork() { bool bRet = false; if (InValues.Length != 2) throw new Exception("Es werden 2 Eingangsparameter erwartet"); // Nicht im Testmodus ausführen! if (AdapterWrite.OnlyTest) return bRet; // 1. Heater Eingangsparameter holen = Filter/Löschkriterium string filter = (string)InValues[0].GetString(); // Diese Bedingung dient nur als Beispiel, es können auch komplexere Bedingungen gebildet werden! // z.B. wenn filter = 5 dann den Datensatz löschen if ( filter == "5" ) { // 2. Heater Eingangsparameter holen = PrimaryKey string id = (string)InValues[1].GetString(); // Tausender Trennzeichen entfernen kann bei Alphanummerischen Primary Keys entfalllen id = id.Replace(".", "").Replace(",", ""); // DELETE SQL zusammenbauen // !!! ACHTUNG: Tabellenname sowie Primary Key Name muss manuell angepasst werden !!! string sql = "delete from IHRE_TABELLE where id = " + id; // Bei Alphanummerischen PrimaryKey diese Syntax verwenden //string sql = "delete from IHRE_TABELLE where id = '" + id + "'"; // SQL auf der WRITE Seite ausführen AdapterWrite.Execute(sql); // Rückgabe für den Filter Heater so dass der Datensatz // auf der WRITE nicht mehr behandelt wird! bRet = true; } return bRet; }

Ziehen Sie den Filter Heater sowie den .NET Script Heater auf den Designer. Verbinden Sie als 1. Eingangsparameter das Excel Feld das das Filter/Löschkriterium enthält mit dem .NET Script Heater. Als 2. Eingangsparameter verbinden Sie nun das Excel Feld, das die Primary Key Informationen zum löschen der Daten enthält mit dem .NET Script Heater. Den Ausgang des .NET Script Heater verbinden Sie nun noch mit dem Filter Heater. Jetzt müssen Sie noch den o.s. Skript Code in den .NET Script Heater kopieren und manuell Ihre MySQL Tabellennamen, den MySQL PrimaryKey Namen sowie Ihr Filter/Löschkriterium anpassen. Siehe Kommentar im Skript!

ACHTUNG: Das ganze bitte mit Vorsicht genießen. Wird hier eine falsche SQL WHERE Bedingung angegeben können versehentlich falsche Datensätze, oder auch der ganze Tabelleninhalt gelöscht werden!

PS: Falls Sie damit nicht klar kommen kann ich Ihnen hierfür auch ein kleines Beispiel anfertigen. Bitte posten Sie dafür den MySQL Tabellenaufbau (Feldnamen, etc.), ihre Excel Arbeitsmappe mit Beispieldaten und noch ein paar zusatzinformationen was Sie genau machen wollen.

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.254 Sekunden
FlowHeater Logo

FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches

Support & Kontakt

Kontaktinformation

Telefon:
0951 / 99339792

E-Mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.


Copyright © 2009-2024 by FlowHeater GmbH. Alle Rechte vorbehalten.