随着科技的发展,图象的使用变得愈来愈普及,存储这些图象愈来愈重要。虽然图象可使用硬盘或框架存储,但SQL Server提供了一种更加完善和容易操作的存储方式。
为了能够更好地存储和访问SQL Server中的图象,可使用一些有效的技术来使SQL Server存储变得更加容易。首先要肯定的是,图象的存储格式。在存储之前,可以将原始的图象文件转换为smaller优化的图象文件格式,这样可以减少存储空间的消耗。
其次是关于SQL Server的文件类型,Oracle的varchar2、char之类的值的存储方式可以把图片编码为字符串,使其成为sql表中的行,但该存储方式不支持多种图象格式。如果要在SQL Server中存储多种图象格式,可以斟酌使用varbinary(max)或image类型。前者能够贮存较大的图象,但图象的字节数不能超过2GB;而后者能够存储最大4GB的图象文件,但是存储的图象是原始的,不能像前者一样贮存优化的图象文件。
第三点就是显示结果。如果需要将sql server存储的图象显示在前端,可使用“Image”控件来显示。 Image控件可以读取其他控件发出的Byte数组信号,通过读取SQL server中varbinary字段中的数据, 使其进行封装并发送给Image控件,实现图象的显示。例如:
byte[] imageData = null;
using (SqlConnection connection = new SqlConnection(connstring)){
string sqlQuery = "SELECT Picture FROM PictureTable WHERE Id = @ID";
using (SqlCommand cmd = new SqlCommand(sqlQuery, connection)) {
cmd.Parameters.AddWithValue("@ID", id); connection.Open();
using (SqlDataReader sdr = cmd.ExecuteReader()) {
sdr.Read(); imageData = (byte[])sdr["Picture"];
} connection.Close();
}}
// passed the byte array to display in image control imageControl.Image = imageData;
以上三点是实现SQL Server中图象存储的有效方法,并且可以减少存储空间的消耗,当部署时也会变得更加方便,要是还有其他问题可以通过量学习和尝试。
本文来源:https://www.yuntue.com/post/111772.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏