Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 10.000 Datensätze verarbeitet werden!
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Willkommen im FlowHeater Support Forum!

Hier werden Fragen zum Umgang mit dem FlowHeater beantwortet.

THEMA: Information speichern und mit net.script heater verwenden

Information speichern und mit net.script heater verwenden 5 Jahre 5 Monate her #507

  • Martin
  • Martins Avatar
  • Offline
  • New Member
  • Beiträge: 14
Ich hätte mal eine Frage:

Ich importierte Daten aus einem ASCII-Format in eine SQL-Datenbank. In einem Feld steht die Filiale, jedoch nicht in jedem Datensatz.

Gibt es die Möglichkeit, erst einmal einen Datensatz mit Filiale zu suchen, den gefundenen Wert zwischen zu speichern, und diese Information anschließend bei jedem Datensatz wieder zu verwenden?

Vielen Dank
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Information speichern und mit net.script heater verwenden 5 Jahre 5 Monate her #508

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1102
Folgendes Skript merkt sich jeweils den letzten Wert einer Spalte. Falls beim nächsten Datensatz kein Wert bzw. ein leerer Wert ankommt wird der gemerkte Wert zurückgegeben.

Damit das jetzt in Ihrer Konstellation funktioniert müssen Sie ihre ASCII (CSV) Daten mittels des Sort Heaters anhand des Feldes FilialID absteigend sortieren. Siehe Beispiel im Anhang.

Hinweis: Der Sort Heater funktioniert nur im Memory Modus!
string letzterWert = String.Empty;

public object DoWork()
{  
  if (InValues.Length != 1)
    	throw new ArgumentException("1 Eingangsparameter erwartet!");

  string wert = (string)InValues[0].GetString();
  if (wert != null && wert.Trim().Length != 0)
  {
    // wenn der Wert gefüllt ist dann merken ansonsten
    letzterWert = wert;
  }
 
  // letzten gefüllten Wert zurückliefern
  return letzterWert ;
}

Anhang wert_merken.zip nicht gefunden

Anhang:
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.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Information speichern und mit net.script heater verwenden 5 Jahre 1 Monat her #676

  • Heinz-Bernd Monschau
  • Heinz-Bernd Monschaus Avatar
  • Offline
  • Senior Member
  • Beiträge: 63
Hallo,

mit meinen rudimentären Programmierkenntnissen verstehe ich nicht warum der Wert beim verlassen der Function nicht verlorengeht.

Ich suche gerade nach einem Weg nicht nur einen Wert zwischenzuspeicher,, sondern eine Liste. Wenn sich bei Prüfung eines Datensatzes ein Wert in einem bestimmten Feld befindet, der schon in der Liste ist, dann soll er true zurückgeben, ansonsten den Wert zu Liste hinzufügen und false zurückgeben.

Hintergrund: Aus dem Wert der ersten drei Zeichen eines Feldes wird ein Code generiert. Wenn ein weiterer Datensatz in deisem Feld in den ersten drei Zeichen mit einem vorigen übereinstimmt, die restlichen Zeichen aber nicht muß ein neuer Code gebildet werden.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Information speichern und mit net.script heater verwenden 5 Jahre 1 Monat her #677

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1102
Hallo Herr Monschau,

Aus dem Code den Sie im .NET Script Heater eingeben generiert der FlowHeater eine komplette temporäre Klasse. Hier sind dann auch noch weitere Methoden bzw. Objekte wie der Zugriff auf die Eingangsparameter, etc. vorhanden.

Von dieser Klasse wird dann vor jedem Lauf eine Instanz erstellt, von der dann die Funktion DoWork pro Datensatz aufgerufen wird. Somit bleibt der Inhalt von Variablen, die außerhalb der DoWork Methode deklariert wurden erhalten. Würde die Variable in der Funktion DoWork deklariert werden wäre der Inhalt nach dem Verlassen der Funktion nicht mehr vorhanden.
public class TempClassNameXYZ
{
  public TempClassNameXYZ()
  {
  }
	
  // Benutzer Code aus Script Heater Anfang
  int i = 0; // "Globale" Variable

  public object DoWork()
  {
    i++;  // "Globale" Variable hochzählen
    return i;
  }
  // Benutzer Code aus Script Heater Ende

  // weitere FlowHeater Funktionen
}

Wenn Sie eine Liste benötigen können Sie folgendes Verwenden.

VB.NET
Dim myList As New System.Collections.Generic.List(Of String)

Oder

C#
System.Collections.Generic.List<String> myList = new System.Collections.Generic.List<String>();

Wenn Sie den Namespace "System.Collections.Generic" weglassen funktioniert das hier leider nicht, da momentan noch der Import darauf fehlt. In der nächsten Version wird das aber gehen, sowie können Sie hier auch Klassen/Methoden aus eigenen DLLs einbinden.
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.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Information speichern und mit net.script heater verwenden 5 Jahre 1 Monat her #678

  • Heinz-Bernd Monschau
  • Heinz-Bernd Monschaus Avatar
  • Offline
  • Senior Member
  • Beiträge: 63
Hallo Herr Stark,

vielen Dank.

Ich hatte es zwischenzeitlich dann schon selbst begriffen das man dem .net-heater eine Klasse ist und man somit weiter Sub- und Funktionsprozeduren hinzufügen kann.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.083 Sekunden