如何在SQL Server数据库表中放入图片?

如题。... 如题。 展开
 我来答
cooke1234
2013-04-10 · TA获得超过6861个赞
知道大有可为答主
回答量:4617
采纳率:72%
帮助的人:3610万
展开全部
图片就是二进制数据。
在数据库中创建一个Image类型的字段(二进制)

把图片文件的内容读到字节数组中,然后把字节数组保存到Image字段里。
从Image字段里读取出二进制数据,保存到一个字节数组中,然后写到文件或者流里再显示出来。
greystar_cn
推荐于2017-10-06 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部
数据库表中存储图片的格式一般为image,将图片转换成二进制流格式保存到数据库中.
存储步骤:
  1、搜索到图片的路径
  2、读取图片并将图片转换成二进制流格式
  3、sql语句保存到数据库中。

private void btnWrite_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "*jpg|*.JPG|*.GIF|*.GIF|*.BMP|*.BMP";

if (ofd.ShowDialog() == DialogResult.OK)
{
string filePath = ofd.FileName;//图片路径
FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] imageBytes = new byte[fs.Length];
BinaryReader br = new BinaryReader(fs);
imageBytes = br.ReadBytes(Convert.ToInt32(fs.Length));//图片转换成二进制流

string strSql = string.Format("insert into [SBS].[dbo].[Model] ([M_QRCode],[M_Skills] ) values (@image,'2')");
int count = Write(strSql,imageBytes );

if (count > 0)
{
MessageBox.Show("success");
}
else
{
MessageBox.Show("failed");
}
}
}

 数据库连接和保存图片语句:
private int Write(string strSql,byte[] imageBytes)
{
string connStr = "Data Source=.;initial Catalog=Imgdb;User ID=sa;Password=sa;";

using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlCommand cmd = new SqlCommand(strSql, conn))
{
try
{
conn.Open();
SqlParameter sqlParameter = new SqlParameter("@image", SqlDbType.Image);
sqlParameter.Value = imageBytes;
cmd.Parameters.Add(sqlParameter);
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (Exception e)
{
throw;
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-10
展开全部
可以在网上搜一下,相关原代码很多.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-10
展开全部
好像只能存放图片的路径来达到存放图片的目的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式