如何将图像从SQL Server加载到图片框?

Muh*_*dar 10 c# picturebox sql-server-2008 winforms

我已经尝试了很多,我怎么能将图像从SQL Server加载到图片框,但我找不到非常有用的材料.

首先,我借助以下查询将图像保存到数据库中:

insert into imageTest (pic_id, pic)
values(1, 'D:\11.jpg')
Run Code Online (Sandbox Code Playgroud)

现在我想将图像加载到图片框中.

doc*_*ess 25

您从未将图像内容上载到数据库.那只是文件名.

例如,假设您有一个可以使用的文件路径(考虑到问题的内容,您似乎可以这样做).在您的应用程序中,您将按照以下格式将其上载到数据库:

byte[] image = File.ReadAllBytes("D:\\11.jpg");

SqlCommand sqlCommand = new SqlCommand("INSERT INTO imageTest (pic_id, pic) VALUES (1, @Image)", yourConnectionReference);
sqlCommand.Parameters.AddWithValue("@Image", image);
sqlCommand.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)

请记住,您的pic字段很可能需要更改数据类型.此信息的常见类型是VARBINARY.

下一部分是将文件读入PictureBox.为此,您需要选择数据:

SqlDataAdapter dataAdapter = new SqlDataAdapter(new SqlCommand("SELECT pic FROM imageTest WHERE pic_id = 1", yourConnectionReference));
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);

if (dataSet.Tables[0].Rows.Count == 1)
{
    Byte[] data = new Byte[0];
    data = (Byte[])(dataSet.Tables[0].Rows[0]["pic"]);
    MemoryStream mem = new MemoryStream(data);
    yourPictureBox.Image= Image.FromStream(mem);
} 
Run Code Online (Sandbox Code Playgroud)

这应该是关于它的.您可能希望进行更好的安全检查,但这应该可以帮助您开始.