C#向mysql的blob字段插入图片

config_man 2010-12-21 09:53:55
项目为winform,所引用的库为MySQLDriverCS,求教代码。。。
...全文
416 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
config_man 2011-01-07
  • 打赏
  • 举报
回复
config_man 2010-12-21
  • 打赏
  • 举报
回复
我知道是转化成byte[],然后插入到数据库中,但是我这地方的代码虽然插入成功了,但是读取不到,所以我猜测可能是我的插入代码不对。

插入代码为:

string path = @"C:\Documents and Settings\user\My Documents\My Pictures\435.jpg";

FileStream fs = new FileStream(path, FileMode.Open, FileAccess.ReadWrite);

long length = fs.Length;
Byte[] bt = new byte[length];


BinaryReader reader = new BinaryReader(fs);
bt = reader.ReadBytes((int)length);

string sql = "INSERT INTO camera(picture,pictureName,pictureLength,cid) VALUES(?picture,?pictureName,?pictureLength,?cid)";

MySQLCommand command2 = new MySQLCommand(sql, conn);

command2.Parameters.Add("?picture", DbType.Binary);
command2.Parameters.Add("?pictureName", DbType.String);
command2.Parameters.Add("?pictureLength", DbType.Int64);
command2.Parameters.Add("?cid", DbType.Int16);

command2.Parameters["?picture"].Value = bt;
command2.Parameters["?pictureName"].Value = "1.jpg";
command2.Parameters["?pictureLength"].Value = length;
command2.Parameters["?cid"].Value = 1;
command2.ExecuteNonQuery();
flyerwing 2010-12-21
  • 打赏
  • 举报
回复
参数化插入byte数组就好了.
config_man 2010-12-21
  • 打赏
  • 举报
回复
现在的情况不允许存储路径,只能存储图片信息。

思路我是有的,但是我这里的插入代码不对,所以请大家发代码。。。。
chenkui2008 2010-12-21
  • 打赏
  • 举报
回复
字段是二进制的话,根据路径读取图片流,然后转换成byte字节字节保存,或者把文件上传,保存图片路径,加载的时候指定对应的路径也可以
mars199 2010-12-21
  • 打赏
  • 举报
回复
密切关注
Dobzhansky 2010-12-21
  • 打赏
  • 举报
回复
恭喜.
config_man 2010-12-21
  • 打赏
  • 举报
回复
OK~~ 问题已搞定,用的是MySql.Data库,MySQLDriverCS可能有bug,因为用它自带的demo都不对。

完整代码我会在我的博客中提供。。

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧