Hallo Freunde!
Wie kann ich einen Pfad mit einem Hochkomma in Sqlite sauber speichern?
Liebe Güsse
Micha D.
FolderItem.Nativepath geht nicht? Dann evtl mal die Alternativen dazu ausprobieren: .Shellpath oder .URLpath
in ein Feld schreiben.
Wo wäre das Problem?
Vielen Dank Ihr Beiden!
Ich nutze in der Regel den Shellpath.
Mein Problem: Ich habe einige mp3-Dateien, in diesen befinden sich blöderweise
Hochkommas.
Leider kann ich diese Pfade nicht in SQLight speichern.
Was muss ich tun, damit SQLite den Satz annimmt.
Sodass ich den Pfad wieder im FolderItem einbringen kann.
Code? Fehlermeldung?
Den Wert (Shellpath) und auch alle anderen Felder übergibst du mit Platzhalter (?).
Dann funktioniert es mit beliebigen Hochkommas im Pfad immer.
Um die Übersicht der Parameter zu behalten kannst auch noch eine Array verwenden.
Siehe Dokumentation “ExecuteSQL”
var vSQL as string = "INSERT INTO Movie (shellpath, moviename) VALUES(?,?);"
var vShellpath as string = "mein''Shellpath/mit ' ' ' ' und.;.-/|\öst"
var vSoundtrack as string = "Blitz und Donner"
Try
app.DB.ExecuteSQL(vSQL, vShellpath, vSoundtrack)
Catch err As DatabaseException
'Error handling
Return
End Try
Ansonsten:
Hallo Freunde,
Sorry, dass ich jetzt erst melde. Habe noch einige andere Dinge klären müssen.
Zu mein Problem mit den Hochkommer im Shell-Pfad.
Also das Speicher mit:
Hallo Freunde
hier nocheinmal mein Problem
Dim ps As SQLitePreparedStatement
Ps= DB.Prepare(“INSERT INTO Musiktabelle (Pfad,Titel,Album,Jahr,Interpret) VALUES (?,?,?,?,?)”)
funktioniert einwandfrei.
Aber: ich möchte mit einer Abfrage den Shell-Pfad mit den Pfad der DB, klären
bevor ich einen neuen Satz eingebe.
sq=“select Titel from Musiktabelle where Pfad='”+ShellPfad+“'”
rs=db.SelectSQL(sq)
if rs.RowCount=0 then…
Leider gibt es hier das Problem, weil der Pfad vs. ShellPfad unterschiedlich ist.
Man muss den ShellPfad irgendwie mit den Hochkommas so anpassen, dass die
Abfrage ohne Fehler abläuft.
Liebe Grüsse Micha
haste das mal so versucht? so hast du ihn doch auch gespeichert oder?
rs=db.SelectSQL("select Titel from Musiktabelle where Pfad=?", ShellPfad)
oder ggfs. Like Suche
Hallo Marcus,
Habe es probiert und das ist wirklich genial!!!
Also vielen DANK
Micha
Um “unbequeme” Daten in Datenbanken zu speichern, “verpackt” man sie mit Base64. Man kann ja vorher noch eine entschärfte Version zur Anzeige und zum Suchen, also nur mit “erlaubten” Zeichen, in einem extra Feld ablegen …
dafuer gibt es binary/blob felder einfach nur bytes wie eine datei eben ist
Dafür gibt es den PathMode URL:
file:///Users/beatrixwillius/Documents/Mail%20Archiver%20X%203