hey there, I'm writing a program where I have to store and retrive student information(e.g. name,address,photo..) in the database. I've written the code to interact with the database in a WCF service..The problem is I'm able to get the image from the database if I directly write the code to interact with the database in the Windows Forms Application..but when I try to get the image through the WCF service there's some sort of error saying "The underlying connection was closed: The connection was closed unexpectedly."
I don't understand where I'm going wrong..Could anyone please tell me why am I getting this error???
The function in the WCF service that retrieves the image is given below
public System.Drawing.Image GetImageByRecID(int iRecID)
{
System.Drawing.Image imgResult = null;
try
{
OpenConnection();
string sqlQuery = @"SELECT Stud_photo FROM Student_PhotoTable WHERE (STUD_ID=" + iRecID.ToString() + ")";
sqlCmd.CommandText = sqlQuery;
SqlDataReader dtreader = sqlCmd.ExecuteReader();
if (dtreader.HasRows)
{
dtreader.Read();
byte[] imageBytes = (byte[])dtreader["Stud_photo"];
imgResult = this.ByteArrayToImage(imageBytes);
}
CloseConnection();
}
catch (Exception ex)
{
throw ex;
}
finally
{
CloseConnection();
}
return imgResult;
}
...the OpenConnection() and CloseConnection() are functions to open and close the database connection respectively..and the byteArrayToImage() function just converts the byteArray into the corresponding image