как читать изображение из базы данных - PullRequest
0 голосов
/ 11 апреля 2011

каждый я написал некоторый код для чтения изображений из базы данных в C # .net, но я не могу понять, где здесь происходит ошибка.Вот мой код

public class Images
{
   string imageFilename = null;
   byte[] imageBytes = null;

   SqlConnection imageConnection = null;
   SqlCommand imageCommand = null;
   SqlDataReader imageReader = null;

   public Images() 
   {
      imageConnection = new SqlConnection("server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI");
      imageCommand = new SqlCommand(@"select imagefile, imagedata from imagetable", imageConnection);

      imageConnection.Open();
      imageReader = imageCommand.ExecuteReader();
   }

   public Bitmap GetImage() 
   {
      MemoryStream ms = new MemoryStream(imageBytes);
      Bitmap bmap = new Bitmap(ms);

      return bmap;
   }

   public string GetFilename() 
   {
      return imageFilename;
   }

   public bool GetRow() 
   {
      if (imageReader.Read())
     {
        imageFilename = (string) imageReader.GetValue(0);
        imageBytes = (byte[]) imageReader.GetValue(1);
           }
     else
     {
     }
   }

   public void EndImages() 
   {
      imageReader.Close();
      imageConnection.Close();
   } 

Ответы [ 2 ]

1 голос
/ 11 апреля 2011
public class Images
{
 string imageFilename = null;
 byte[] imageBytes = null;
 SqlConnection imageConnection = null;
 SqlCommand imageCommand = null;
 SqlDataReader imageReader = null;
 public Images() 
 {
    imageConnection = new SqlConnection("server=      (local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI");
   imageCommand = new SqlCommand(@"select imagefile, imagedata from imagetable",        imageConnection);
  imageConnection.Open();
  imageReader = imageCommand.ExecuteReader();   }


public Bitmap GetImage() 
{
  MemoryStream ms = new MemoryStream(imageBytes);
  Bitmap bmap = new Bitmap(ms);
  return bmap;
}
public string GetFilename() 
{
  return imageFilename;
}
public bool GetRow() 
{
  if (imageReader.Read())
 {
    imageFilename = (string) imageReader.GetValue(0);
    imageBytes = (byte[]) imageReader.GetValue(1);
    return true;
 }
 else
 {
    return false;
 }
}
public void EndImages() 
{
  imageReader.Close();
  imageConnection.Close();
} 
0 голосов
/ 11 апреля 2011

Если вы вызываете GetImage () перед вызовом GetRow (), вы получите ошибку.Также класс Bitmap недоступен для доменов приложений (например, вызов DrawImage () в другом домене, чем тот, который его создал)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...