2010-11-29 74 views
0

在我的C#winform应用程序。我连接我的程序到MS SQL Server 2005成功,现在我想添加一个Image类型的新列,我该如何插入DB中的图像并将其还原?并在我们的Business Logic Class哪个数据类型变量中我们会声明?Ado.net图像操作

回答

2

如何将图像插入到数据库中并将其取回?

你需要得到以字节为单位的图像如下图所示代码

编辑的代码示例

private void BrowseImage(object o) 
    { 
     OpenFileDialog openFileDialog = new OpenFileDialog(); 

     // Set filter for file extension and default file extension 
     //openFileDialog.DefaultExt = ".bmp"; 
     //openFileDialog.Filter = "24-Bit Bitmap (.bmp)|*.bmp"; 
     openFileDialog.InitialDirectory = @"C://" 
     openFileDialog.DefaultExt = ".jpg"; 
     openFileDialog.Filter = 
      "BMP (*.BMP)|*.BMP|" + 
      "JPEG (*.JPG; *.JPEG; *.JPE)|*.JPG;*JPEG|" + 
      "GIF (*.GIF)|*.GIF|" + 
      "TIFF (*.TIFF)|*.TIFF|" + 
      "PNG (*.PNG)|*.PNG|" + 
      "DIB (*.DIB)|*.DIB|" + 
      "JFIF (*.JFIF)|*.JFIF"; 

     // Display OpenFileDialog by calling ShowDialog method 
     Nullable<bool> result = openFileDialog.ShowDialog(); 

     // Get the selected file name and display in a TextBox 
     if (result == true) 
     { 
      // Open document 
      string filename = openFileDialog.FileName; 


      Stream stream = openFileDialog.OpenFile(); 
      byte[] bytes = null; 
      if (stream != null && stream.CanRead) 
      { 

       bytes = new byte[stream.Length]; 
       stream.Read(bytes, 0, Convert.ToInt32(stream.Length)); 
       stream.Close(); 
      } 


     } 
    } 

在我们的业务逻辑类数据类型的变量,我们将宣布?

您需要将image属性定义为Byte []并将此属性赋予上面获得的bytes []。

+0

流stream = ???你的意思是让你更好地解释它。 – salman 2010-11-29 07:34:39