Kennt jemand ein Beispiel zum Speichern eines Abbilds in einer SQL Server CE-Datenbank?Speichern eines Abbilds in einer SQL Server CE-Datenbank
Welcher Datentyp sollte die Spalte sein? (Ich rate binär.)
Ich benutze Linq-To-Datasets. Ist es möglich, das Image in die Datenbank zu legen und später wieder herauszuziehen?
Vielen Dank für jeden Hinweis.
Hier ist, wie ich es tat:
MemoryStream stream = new MemoryStream();
myBitmapImage.Save(stream, ImageFormat.Png);
myInsertLinqToDataSetRow.IMAGE_COLUMN = stream.ToArray();
es zu laden wieder heraus habe ich dies:
MemoryStream stream = new MemoryStream(myLinqToDataSetRow.IMAGE_COLUMN);
myBitmapImage.SignatureImage = new Bitmap(stream);
ich eine Seite auf MSDN gesagt, dass, dass die Bildsäule Der Typ wird entfernt und Sie sollten varbinary (MAX) verwenden. Max wird nicht auf SQL Server CE unterstützt, also habe ich Varbinary (8000).
SPÄTER NOTE: während varbinary (max) auf SQL Server CE nicht unterstützt wird. Varbinary (8000) ist nicht groß genug für viele Bilder. Ich habe am Ende den Image-Typ verwendet, obwohl es geplant ist, veraltet zu sein. Sobald MS eine vernünftige Alternative auf der mobilen Plattform anbietet, werde ich das Umschalten in Erwägung ziehen.
vernünftige Idee, wenn ich Referenzdaten speichern würde. Dies ist jedoch für Screenshots des aktuellen Fensters. Ich brauche sie in der Datenbank, um sie zu organisieren. – Vaccano
+1: Ich mag es nicht wirklich, dies zu tun und das größte Problem (die mehreren Kopien des Bildes) ** kann einfach gelöst werden ** durch Erstellen einer Tabelle Bilder mit einer ID und dem Bild. ** Obwohl mit der zukünftigen Abwertung des Image-Typs und den Einschränkungen der varbinären Größe, denke ich, ist es tatsächlich die beste Option **. Wie traurig MS .. – Diego
Etwas, das ich in einer meiner Anwendungen herausgefunden habe, um die Duplizierung des gleichen Bildes zu stoppen, besteht darin, Bildinformationen in einer separaten Tabelle zu haben und dann alles auf diese eine Tabelle zu beziehen.Ich habe den Hash des Bildes, den binären Inhalt und eine ID, um damit zu gehen. Sobald das Bild in der Datenbank ist, füge ich dem Bild einfach einen anderen Verweis hinzu, anstatt den binären Inhalt zu duplizieren. – JLopez