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

本文关键字:图像 加载 SQL Server | 更新日期: 2023-09-27 18:14:01

我已经尝试了很多找到,我如何从SQL Server加载图像到图片框,但我找不到非常有用的材料。

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

insert into imageTest (pic_id, pic)
values(1, 'D:'11.jpg')

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

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

您从未将图像内容上传到数据库。这只是文件名。

假设,作为一个例子,你有一个文件路径要处理(看起来你有,给定问题的内容)。在您的应用程序中,您将按照以下格式将其上传到数据库:

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();

请记住,您的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);
} 

应该就这些了。您可能想要做更好的安全检查,但这应该可以帮助您开始。

看一下:http://msdn.microsoft.com/en-us/library/ms175915.aspx

更改后的代码:

insert into imageTest (pic_id, pic)
select 1, BulkColumn
FROM Openrowset( Bulk 'D:'11.jpg', Single_Blob) as img

看Muhammad,我们在动态场景中处理图像时是这样做的:

  1. 上传图片到web应用程序目录(如/images/或其他)

  2. 我们将URL地址存储在表的数据库字段中

  3. 在你想要包含图像的地方,只要将图像源设置为数据库字段,它就会显示出来。

希望能有所帮助

检查下面的代码:

SqlDataAdapter dAdapter = new SqlDataAdapter(new SqlCommand("SELECT Photo FROM Image", conn));
        DataSet dSet = new DataSet();
        dAdapter.Fill(dSet);
        if (dSet.Tables[0].Rows.Count == 1)
        {
            Byte[] data = new Byte[0];
            data = (Byte[])(dSet.Tables[0].Rows[0]["Photo "]);
            MemoryStream mem = new MemoryStream(data);
            PictureBoxName.Image = Image.FromStream(mem);
         }

在data中提到图像的列名。

更改您在表单中提到的图片框名称。