Ado.net图像操作

时间:2010-11-29 07:20:27

标签: c# sql-server-2005 ado.net

在我的C# winform应用中。我已成功将我的程序连接到MS SQL Server 2005,现在我想添加一个Image类型的新列,如何在DB中插入图片并将其取回?在我们的Business Logic Class我们将声明哪个数据类型变量?

1 个答案:

答案 0 :(得分: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();
            }


        }
    }
  

在我们的业务逻辑类中我们将声明哪个数据类型变量?

你需要将图像属性定义为Byte []并将此属性赋值为上面的bytes []。