J'ai essayé de lire une image enregistrée dans Access DB en tant qu'objet OLE dans un PictureBox dans une application Windows C#.Lire une image d'Access DB dans PictureBox
Le code qui fait cela est présenté ci-dessous:
string connString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Rajesh\SampleDB_2003.mdb;";
OleDbConnection oConn = new OleDbConnection(connString);
oConn.Open();
string commandString = "select * from employee where id = " + id + "";
OleDbCommand oCmd = new OleDbCommand(commandString, oConn);
OleDbDataReader oReader = oCmd.ExecuteReader(CommandBehavior.SequentialAccess);
while (oReader.Read())
{
txtID.Text = ((int)oReader.GetValue(0)).ToString();
txtName.Text = (string)oReader.GetValue(1);
txtAge.Text = ((int)oReader.GetValue(2)).ToString();
txtType.Text = (string)oReader.GetValue(3);
byte[] imageBytes = (byte[])oReader.GetValue(4);
MemoryStream ms = new MemoryStream();
ms.Write(imageBytes, 0, imageBytes.Length);
Bitmap bmp = new Bitmap(ms);
pbPassport.Image = bmp;
}
Lorsque j'exécute le code ci-dessus, une exception « paramètre n'est pas » est jeté à la ligne:
Bitmap bmp = new Bitmap(ms)
De la message d'exception, il est clair que ms est dans un format qui n'est pas reconnaissable. Une suggestion pour passer cela?