QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1315|回复: 6

怎么向mysql里面使用stream写入blob?

[复制链接]
发表于 2005-4-27 22:18:51 | 显示全部楼层 |阅读模式
我得标题不是很清晰
主要是这样,要保存图像到mysql里面,也就是二进制数据
我看了mysql的手册,应该是用blob类型
那么该如何写入呢?据说是用stream方式,网上搜索了一下都没看到说用c怎么写入的.
求教!
发表于 2005-4-28 07:05:52 | 显示全部楼层
二进制的写入,估计主要是如何在SQL语句中写二进制的字符串。MySql提供了函数mysql_real_escape_string() 来帮助转换。可以参考 http://dev.mysql.com/doc/mysql/en/mysql-real-escape-string.html
回复

使用道具 举报

 楼主| 发表于 2005-4-28 18:08:22 | 显示全部楼层
存储一幅图像如何操作呢?
只能依次读出数据然后用这个函数转换吗?
回复

使用道具 举报

 楼主| 发表于 2005-4-28 18:23:45 | 显示全部楼层
mysql_real_escape_string() 这个函数是把字符串编码为在一条SQL语句中可以发给服务器的转义的SQL字符串,感觉不是转化为二进制blob吧?
回复

使用道具 举报

发表于 2005-4-29 08:35:38 | 显示全部楼层
我的理解是,Mysql的C的API提供了用户通过C程序向数据库提交SQL语句的接口。基本上,都是把需要的操作转换成char *,然后提交给mysql_query()或者mysql_real_query()。 图像等二进制字符串,要想写进char *的字符串,就可以使用mysql_real_escape_string() 。
回复

使用道具 举报

 楼主| 发表于 2005-4-29 16:22:47 | 显示全部楼层
ok,我有点明白你的意思了.还有一个问题问下你,图像读出来的二进制字符串是什么格式,也就是说我要从图像里面读取内容,先定义一个变量,改用什么,还是char *,或者?谢谢
回复

使用道具 举报

发表于 2005-4-30 08:04:42 | 显示全部楼层
如果是C语言的话,用char *就可以了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 03:29 , Processed in 0.033870 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表