[C#]Sqlite inserción de imagenes (Blob)

Desarrollo de aplicaciones de escritorio C#, c++, Java, Net, VB... y todos los frameworks y tecnologías relacionadas co este tipo de aplicaciones.
Hola peña , estoy realizando una aplicacion con sqlite que requiere la inserción de imágenes en la bd , la verdad es que nunca e usado campos de tipo blob asi que en mi script no estoy seguro donde esta el fallo porque al insertar de esta forma no me da ningún error:
if (File.Exists(textBoxImagePath.Text))
{
byte[] bt = File.ReadAllBytes(@"" + textBoxImagePath.Text);

String sql = String.Format("INSERT INTO {0} ({1},{2}) Values('{3}','{4}')", SqliteHelper.CATEGORIAS_TABLE, SqliteHelper.CATEGORIA_NOMBRE, SqliteHelper.IMAGEN_BLOB, textBoxNameCategory.Text, bt);
if (SqliteHelper.ExecuteNonQuery(sql))
{
// proceder


}
}


Pero sin embargo cuando miro los datos insertados en la bd con SqliteExpert esto me muestra y me da que no es correcto:

Imagen
Imagen
Imagen

Aunque no me de error esos datos no son de una imagen verdad? porque al cargar la imagen es cuando surge el error en el parametro del stream:

DataTable dat = SqliteHelper.getData(String.Format("SELECT imagen_ruta FROM {0} WHERE {1} = '{2}'", SqliteHelper.CATEGORIAS_TABLE, SqliteHelper.CATEGORIA_NOMBRE, textBoxNameCategory.Text));
byte[] bts = (System.Byte[])dat.Rows[0]["imagen_ruta"];
MemoryStream ms = new MemoryStream(bts);
pictureBox1.Image = Image.FromStream(ms, true);


Exactamenet en la linea MemoryStream ms = new MemoryStream(bts); y como error:

El parametro no es valido;

Asi que cual debe ser el fallo?

Esta claro que hay muchos conceptos que no tengo claros todavia con c# pero todo se andara . :beta:

solucionado como siempre por mi diossssssss pabloko :hypno:

pon la solucion mamonn

:) Empato con Pablo...

Saludos.

jajajja es verdad ...

Bueno ele error era intentar meter el parámetro de bytes directamente al string de consulta y la solución es usar siempre comand.parameter para evitar errores :

System.IO.FileStream fs = new FileStream(@""+textBoxImagePath.Text, FileMode.Open);
System.IO.BufferedStream bf = new BufferedStream(fs);
byte[] buffer = new byte[bf.Length];
bf.Read(buffer, 0, buffer.Length);

byte[] buffer_new = buffer;


using (SQLiteConnection conn = new SQLiteConnection(SqliteHelper.dbconnectionStr))
{
conn.Open();
using (SQLiteTransaction tran = conn.BeginTransaction())
{

using (SQLiteCommand cmd = conn.CreateCommand())
{
cmd.Transaction = tran;
cmd.Connection = conn;
cmd.CommandText = "INSERT INTO CATEGORIAS (categoria_nombre,imagen_ruta) Values(@nombre,@imagen)";
cmd.Parameters.AddWithValue("@nombre", textBoxNameCategory.Text);
cmd.Parameters.AddWithValue("@imagen", buffer_new);
cmd.ExecuteNonQuery();
cmd.Dispose();
tran.Commit();
conn.Close();

}

}

}