package require Mk4tcl # Öffnen der Datenbank mk::file open cddb cddb.db # Anlegen zweier Views mk::view layout cddb.cds "DISCID ARTIST ALBUM" mk::view layout cddb.tracks "DISCID NR:I LABEL" # Einfügen von Daten mk::row append cddb.cds DISCID eb101210 \ ARTIST "Maria Graf" ALBUM "Harp Recital" mk::row append cddb.tracks DISCID eb101210 \ NR 1 \ LABEL "Louis Spohr: Fantasie for Harp, Op. 35 in C minor" mk::row append cddb.tracks DISCID eb101210 \ NR 2 \ LABEL "Johann Christian Boch: Sonata Op. 5 No. 3 in G major 1." puts "\n\nBeispiel 1" puts "Größe [mk::view size cddb.tracks]" # Ausgabe einer Reihe puts "Zeile cddb.tracks!0 \"[mk::get cddb.tracks!0]\"" # ... mit Cursor mk::cursor create tcrs cddb.tracks 0 puts "Position [mk::cursor position tcrs]" mk::cursor incr tcrs puts "Position [mk::cursor position tcrs]" puts "Zeile cursor \"[mk::get $tcrs]\"" # Umladen in Array set result [lindex [mk::select cddb.cds -keyword ARTIST "graf"] 0] array set cd [mk::get cddb.cds!$result] parray cd # foreach multiset foreach row [mk::select cddb.tracks -exact DISCID $cd(DISCID)] { foreach {name wert} [mk::get cddb.tracks!$row] { set $name $wert } puts "Track $NR: $LABEL" } # Datenänderung set result [lindex [mk::select cddb.tracks -exact DISCID $cd(DISCID) NR 2] 0] mk::set cddb.tracks!$result LABEL "Johann Christian Bach: Sonata Op. 5 No. 3 in G major 1." puts [mk::get cddb.tracks!$result ] #Implizite Änderung des Schemas mk::set cddb.cds!0 VORHANDEN:I 1