OFDb

Stapelverarbeitung

Begonnen von birkner, 24 März 2019, 22:31:48

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

birkner

Hallo,

Eine Community lebt meines Erachtens vom gegenseitigen Austausch. Deshalb möchte ich hier anregen Erfahrungen und Kenntnisse zur Stapelverabeitung auszutauschen.

Tbengel, unser Silberrücken, hat uns im Programm die tolle Möglichkeit gegeben, direkt mit dem sql-Befehl UPDATE zu arbeiten:

Erste Beispiele wurden bereits im neuen Handbuch erläutert.

Welche weiteren Variablen im UPDATE-Befehl noch verwendet werden können, die nicht über die Maske der Stapelbearbeitung zu erreichen sind, kann man der config.txt entnehmen:

<TableKeys>id, bild, titel, genre, medientyp, tvnorm, erscheinungsjahr, laenge, darsteller, inhalt, ort, filter, comment</TableKeys>

Damit kann z.B. der Lageort vereinfacht neu aufgebaut werden, wenn man diesen bisher noch nicht verwendet hat.

Beispiel:
Man verwaltet Filme als gespeicherte Dateien auf diversen Festplatten in den Unterverzeichnissen:
Abenteuer:   A1, A2, ....
Unterhaltung: U1, U2, ...

Dort sind sie in weiteren Unterverzeichnissen nach Schauspielern geordnet:
A1: Sean Connery,
    Alain Delon, ....

Annahme:
Die Filmdatenbank heisst STARTDB

Direkte Eingabe UPDATE-Befehl:

UPDATE STARTDB
SET ort = 'A1-Sean Connery'                # Im Lageort wird "A1-Sean Connery" eingetragen
WHERE ort = ''                             # falls im Lageort noch kein Eintrag existiert
AND genre LIKE 'Abenteuer%'                # und wenn der Genre-Eintrag mit Abenteuer beginnt
AND darsteller LIKE 'Sean Connery%'        # und wenn Sean Connery der erste Eintrag bei Schauspieler ist

Sollte es nur darauf ankommen, dass Jean Connery nicht als Hauptdarsteller, sondern überhaupt im Film vorkommt, so würde die letzte Zeile folgermaßen lauten:

AND darsteller LIKE '%Sean Connery%'       # "Sean Connery" mittig im Text

Erklärung:
'%Sean Connery%'  mittig im Text
'Sean Connery%'   am Anfang des Textes
'%Sean Connery'   am Ende des Textes

Vielleicht haben andere User auch Ideen, die sie hier einbringen können, würde mich freuen.

Es empfiehlt sich aber vor solchen Versuchen immer Updates zu erstellen.

VG birkner

tbengel

29 März 2019, 09:44:39 #1 Letzte Bearbeitung: 18 April 2019, 19:41:37 von tbengel
Hallo,

da es immer schwieriger wird, eine Kompatibilität mit MyMDb 3.6 aufrecht zu erhalten,
hier nun ein Update-Befehel, welches in MyMDb 3.6 eingegebene (MEHRERE) Sprachen für
MyMDb-CE konvertiert:

UPDATE <DATENBANKNAME> SET sprache = REPLACE(sprache, ', ', ';') WHERE sprache LIKE '%, %'

Ersetzt: "<DATENBANKNAME>" hierbei durch den Namen Eurer Datenbank, also z.B.

UPDATE MOVIES SET sprache = REPLACE(sprache, ', ', ';') WHERE sprache LIKE '%, %'

Es wird hierbei das Trennzeichen der einzelnen Sprachen vormals ", " durch nun ";"
ersetzt.

Solltet ihr das Sprachen-Feld nicht benutzt haben, oder dort nur eine Sprache eingepflegt
haben, dann brauch Ihr diesen Update-Befehl nicht ausführen.

Grüße

tbengel

P.S. Dieser Update-Befehl wird ab der Version 1.4.0 automatisch beim ersten Programmstart ausgeführt, braucht also nicht mehr extra
manuell eingegeben werden.

TinyPortal 2.0.0 © 2005-2020