我尝试了很多方法来发现如何从 SQL Server 加载图像到图片框,但我找不到非常有用的 Material 。
首先,我借助以下查询将图像保存到数据库中:
insert into imageTest (pic_id, pic)
values(1, 'D:\11.jpg')
现在我想将图像加载到图片框中。
最佳答案
您从未将图像内容上传到数据库。那只是文件名。
例如,假设您有一个要使用的文件路径(考虑到问题的内容,您似乎有)。在您的应用程序中,您将按照以下格式将其上传到数据库:
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);
}
这应该是关于它的。您可能想要进行更好的安全检查,但这应该有助于您入门。
关于c# - 如何从 SQL Server 加载图像到图片框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8084590/