neue Spalten in SQLite DB nicht gleich mit autoit beschreibbar (mitSQLiteSpy schon)

  • Ich benutze das Pinnacle TV Center pro für Fernseh-Aufzeichnungen. Die Daten werden in einer (vom Programm

    erstellten) Sqlite Datenbank abgelegt. Ich verändere die Werte der Datenbank über autoit automatisiert so,

    wie ich es möchte (Vorlaufzeit, Nachlaufzeit, Benamsung der Datei, etc.). Das funktioniert soweit auch ganz

    gut.

    Aber: Ich habe an eine Tabelle der bestehenden Datenbank zwei neue Spalten im Format VARCHAR angehängt.

    Diese Spalten kann ich mit autoit nicht ohne Vorbehandlung befüllen. Ich muss die Datenbank mit SqliteSpy

    öffnen, irgendwelche Daten mit Grid-Cell-Editing in die Spalten eintragen und wieder löschen. Erst danach

    kann ich mit autoit die beiden neuen Spalten befüllen. Kreiert das TV Center neue Zeilen in dieser Tabelle,

    müssen auch die neuen Zellen der händisch eingefügten Spalten erst einmal "bewegt" werden, bevor Sie

    benutzt werden können. Leider "weiß" das TV Center nichts von den neuen Spalten und kann daher diese auch

    nicht ansprechen.

    Das Einfügen der Spalten habe ich mit sqlite3.exe via einer Batch-Datei vorgenommen. In Sqlite Spy werden

    die Zellen der neu eingefügten Spalten rosa dargestellt. Nach der "Bewegung" sind die Zellen weiß. Leider

    habe ich keine Ahnung, was die Farbgebung bedeutet. Auf der SqliteSpy-Homepage habe ich nur den Satz

    gefunden:

    Data Type Display – The native SQL data types are displayed with different background colors to help detect

    type errors. Type errors can cause performance degradation or wrong SELECT result sets if NULL values are

    confused with empty strings.


    Leider steht da nicht, welche Farbe was bedeutet. Noch viel weniger Ahnung habe ich, wie ich den

    gewünschten Zustand ohne händisches Einfgreifen erreiche. Da die neuen Zeilen sich nicht durch autoit

    beschreiben lassen, kann ich den "Bewegungsvorgang" nicht automatisieren.

    Wer hat eine Idee für mich?

    MadTax

    Einmal editiert, zuletzt von MadTax (5. März 2011 um 12:49)

  • Ich danke für das reichliche Interesse, bin aber selbst schon auf eine Lösung gekommen: Diese neue Zellen sind beschreibbar (problemlos), aber nicht referenzierbar. Da ich alle Schreibbefehle in autoit mit WHERE "Neue Zelle"="" versehen hatte, wurde eine Fehlermeldung zurückgegeben und die Aktion nicht ausgeführt. Ich habe einfach die Referenzierung geändert (Gut, so einfach fand ich das auch nicht!) und schon ging es.

    Vermutlich sind die neuen Zellen vor der ersten Befüllung nicht definiert. An einer einfacheren Lösung als der meinen bin ich noch immer interessiert.

    MadTax