You are setting the byte[] or binary data to the ImageURL field, which is wrong. The Image URL expects a path.
Check out this question and the answers :
Convert from binary data to an image control in ASP.NET
On the itemdatabound event of the datalist, find your image control. if you're using the html tag set the src property, if you are using , check out the this answer :
//Find your image control (Image1 lets say) on the item databound event of the datalist.
Byte[] myImage = GetMyImageFromMyDataSource();
String st = Server.MapPath("myImageNameOrID.jpg"); // Try Name + ID to make it unique
FileStream fs = new FileStream(st, FileMode.Create, FileAccess.Write);
fs.Write(myImage, 0, myImage.Length);
fs.Close();
Image1.ImageUrl = "myImageNameOrID.jpg";
EDIT : Check out this link to know more about using the itemdatabound event of the datalist :