Ich habe viele Tutorials gelesen, aber ich kann ein Bild nicht in einer SQL-Tabelle speichern. Ich verwende das FMDB-Framework, um meine schnelle App und die SQLite-Datenbank zu verbinden. Dies ist die DatenbankBild in BLOB Feld speichern FMDB
CREATE TABLE "PRODUCTO" (
`CODIGOPRODUCTO` integer NOT NULL PRIMARY KEY AUTOINCREMENT,
`CODIGOCATEGORIA` integer NOT NULL,
`NOMBREPRODUCTO` varchar(50) NOT NULL,
`DESCRIPCIONPRODUCTO` varchar(50) NOT NULL,
`IMAGEN` BLOB,
FOREIGN KEY(`CODIGOCATEGORIA`) REFERENCES `CATEGORIA`(`CODIGOCATEGORIA`)
)
dies ist der Weg zu schaffen und
let newPr: Producto = Producto()
newPr.nombre = txtNombre.text!
newPr.descripcion = txtDescripcion.text!
newPr.idCategoria = Int(categoriaSel.id)
newPr.imagen = imageView.image!
Producto().insertar(itemProducto: newPr)
das Objekt speichern Schließlich ist diese SQL-Satz in der Funktion "insertar"
conexion.database!.open()
let consulta: Bool = conexion.database!.executeUpdate("insert into PRODUCTO (CODIGOCATEGORIA,NOMBREPRODUCTO,DESCRIPCIONPRODUCTO, IMAGEN) values (\(itemProducto.idCategoria),'\(itemProducto.nombre)','\(itemProducto.descripcion)', \(UIImagePNGRepresentation(itemProducto.imagen)! as NSData))", withArgumentsIn: nil)
conexion.database!.close()
Aber dieser Code scheitert immer.
Dies ist ineffizient, die Darstellung PNG macht 33% größer in dem Prozess der Basis 64 codierende (nichts von der Zeit, zu sagen, dass es zu kodieren und zu dekodieren) . SQLite kann Binärdaten direkt als BLOBs speichern – Rob