如何从图片框中将图像插入数据库

时间:2016-05-08 22:22:01

标签: c# sql sql-server winforms

我有一个std::istringstream input("somewhere down the road"); std::string del_str("down"); std::istream_iterator<std::string> in(input), end; std::ostringstream result; std::remove_copy(in, end, std::ostream_iterator<std::string>(result, " "), del_str); std::cout << result.str(); ,我希望将其在SQL Server数据库中的图片保存到PictureBox

2 个答案:

答案 0 :(得分:-1)

  

哎呀找到它

这是插入方法

 public static byte[] ImageToByte(Image img)
        {
            ImageConverter converter = new ImageConverter();
            return (byte[])converter.ConvertTo(img, typeof(byte[]));
        }

  public static void InsertImageintoSqlDatabaseAsBinary(byte[] imgData)
        {


            using (SqlConnection sqlconnection = new SqlConnection(@"Data Source=.;Initial Catalog=VIP;Trusted_Connection=True;"))
            {
                sqlconnection.Open();


                // Converts image file into byte[]


                string insertXmlQuery = @"Insert Into ExpertsInfo (Image) Values(@Photo)";

                // Insert Image Value into Sql Table by SqlParameter
                SqlCommand insertCommand = new SqlCommand(insertXmlQuery, sqlconnection);
                SqlParameter sqlParam = insertCommand.Parameters.AddWithValue("@Photo", imgData);

                sqlParam.DbType = DbType.Binary;
                insertCommand.ExecuteNonQuery();

            }
        }

并使用如下:

private void button2_Click(object sender, EventArgs e)
{


        Image img = picturebox.Image;
        byte[] imgbyte= ImageToByte(img);

        InsertImageintoSqlDatabaseAsBinary(imgbyte);


    }

答案 1 :(得分:-2)

我并没有完全明白你的意思,但这里有一段代码可以用来从图片框中将图像插入数据库。

Image img = picturebox1.Image();
byte[] arr;
ImageConverter converter = new ImageConverter();
arr=(byte[])converter.ConvertTo(img, typeof(byte[]));

command.CommandText = "INSERT INTO ImagesTable (Image) VALUES('" + arr +    "')";
command.CommandType = CommandType.Text;
command.ExecuteNonQuery();