Ho un database con decine di immagini in un campo di una tabella.
Mi servirebbe estrarre tutte le immagini presenti in quella tabella tramite un programmino in c#.
Ecco il codice che ho scritto:
codice:
private void onnectbtn_Click(object sender, EventArgs e)
{
//Inizializzo i metodi
connessione = new OleDbConnection();
comando = new OleDbCommand();
data_ad = new OleDbDataAdapter();
dataset = new DataSet();
//Definisco le proprietà e apro la connessione, metto il try catch così se si verifica un errore mi si visualizza una messagebox
try
{
connessione.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='..\..\..\db1.mdb'";
connessione.Open();
comando.Connection = connessione;
comando.CommandType = CommandType.Text;
//Carico i dati sulla form
dataset.Clear();
comando.CommandText = "SELECT immagine FROM immagini";
/*data_ad.SelectCommand = comando;
data_ad.Fill(dataset, "immagini");*/
byte[] pictureData = (byte[])comando.ExecuteScalar();
int offsetValue = 78;
//MemoryStream stream = new MemoryStream(pictureData, true);
//stream.Write(pictureData, 0, pictureData.Length);
FileStream file = new FileStream(@"c:\1.jpg", FileMode.CreateNew, FileAccess.Write);
file.Write(pictureData, offsetValue, pictureData.Length - offsetValue);
file.Close();
connectbtn.Enabled = false;
}
catch (Exception x)
{
MessageBox.Show(x.Message, "Eccezione");
}
}
Ma l'immagine salvata non è visualizzabile.
Qualcuno può darmi una mano?
Grazie.