This
code sample in C# (will be not difficult to convert in VB.NET) works well to read images from database and bind dataset with a gridview control.
To get image from gridview and save it in file use MemoryStream Object like here:
Dim newImage As Image
Using ms As New MemoryStream(imageData, 0, imageData.Length)
ms.Write(imageData, 0, imageData.Length)
newImage = Image.FromStream(ms, True)
newImage.Save(".\picture.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
End Using