class AccesoBD
{
//Métod que abre la conexión y devuelve un objeto OleDbConnection
private static OleDbConnection conectar()
{
OleDbConnection cnn
= new System.Data.OleDb.OleDbConnection(); //Si usas Access inferior a 2007
//string cadenaConexion = @"PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" + "/*---AQUI LA RUTA+EL NOMBRE DE TU BD---*/.mdb";
//Si usas Access 2007 o superior
string cadenaConexion = @"PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source=" + "/*---AQUI LA RUTA+EL NOMBRE DE TU BD---*/.accdb";
cnn.ConnectionString = cadenaConexion;
cnn.Open();
return cnn;
}
//Método que recupera las imágenes de la BD y las almacena en un imageList
public imageList rellenaImageList()
{
//Definimos el imageList que vamos a llenar de imágenes
ImageList listaImágenes
= new imageList
(); //Aqui debes escribir tu sentencia SQL según tengas la BD creada
String strSQL = "SELECT campoImagen FROM TablaImagenes";
OleDbConnection cnn = conectar();
OleDbCommand sentencia
= new OleDbCommand
(strSQL, cnn
); OleDbDataReader objReader = sentencia.ExecuteReader();
while (objReader.Read())
{
MemoryStream ms
=new MemoryStream
(); //recupero el array de bytes que forman la imagen
byte[] imgByte=(byte[])(objReader[0]);
ms.Write(imgByte, 0, imgByte.GetUpperBound(0)+1);
//Añado al imageList la imagen recuperada y convertida
listaImagenes.Images.Add(System.Drawing.Image.FromStream(ms)
ms.Close();
}
objReader.Close();
cnn.Close();
//Devuelvo el imageList con las imágenes almacenadas
return listaImagenes;
}