- Beiträge: 2
Delete on Update
- Daniel Griesheimer
- Autor
- Offline
- Benutzer
Weniger
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?
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.
- FlowHeater-Team
- Offline
- Administrator
14 Jahre 3 Wochen her #216
von FlowHeater-Team
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.
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.
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.
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