二进制数据存储 VB不在行,在C API中有一个mysql_escape_string()转义函数,它对要操作的query中的二进制数据进行转义,然后就可以正确存储了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为两个程序使用一个数据库,另一个程序使用CB编写,用C的数据流的方法可以存储,但用VB就不可以,如果用转换的方法,存储的数据就不一致了 :)转义的结果只是让mysql执行query的时候对数据正确处理,不会造成存储不一致的!你可以做个简单的测试程序试试!不过我对VB如何操作二进制数据不清楚,所以我自己无法验证我的说法是否正确!帮你UP 所有的二进制数据可以被看成是一个长长的字符串,其中要注意的问题就是有某些字符需要进行必要的转义操作,也就是用 API 函数 mysql_escape_string()建议你看看 MySQL 参考手册 的 6.1.1.1 字符串 章节 所有的二进制数据可以被看成是一个长长的字符串,其中要注意的问题就是有某些字符需要进行必要的转义操作,也就是用 API 函数 mysql_escape_string()建议你看看 MySQL 参考手册 的 6.1.1.1 字符串 章节 我昨天用转义函数mysql_escape_string将二进制数组转换后,存入数据库,再从数据库读出后,这个二进制数组和转换后的一样,如果要使用,必须自己再编程转化,才能使用。 转义函数mysql_escape_string我了解,有什么办法不进行转义,直接进行存储吗? 这个可以从应用层开发语言来理解;不进行转义,你怎么把中间带中止符的一段数据完整赋值给query(即查询语句,API中以字符串体现,例如mysql_query(MYSQL* mysql, char* query)) 类似的例子就像C语言中的printf()函数,要把反斜杠'\'打印出来,你必须对其转义! 谢谢各位的指导,我将ADO的记录集属性CursorLocation 设置为 adUseClient,不用进行传换就可以了存储。ADO的记录集属性CursorLocation 默认是 adUseServer。 请教一个mysql数据库查询的问题 MySql Insert text字段 中文乱码 mysql中删除某一字段中汉字内容难题 mysql 查询问题。怎么提取字段内包含相同的字符的记录 Postgres里有没有像Oracle里的rownum这样的函数 MySQL 5.0 Windows版本是不是收费的? 最简单的SELECT语句出错? mysql插入数据乱码 mysql 双重游标问题 mysql查询版本,linux指令和sql查询出来的版本不一致,哪一个是准确的 怎样用DBExpress连接更改了端口的MySQL数据库? 为什么记录无法删除啊?在线等待!!!!!!!!!
用C的数据流的方法可以存储,但用VB就不可以,如果用转换的方法,存储的数据就不一致了