由于在数据表中定义了一个字段是varbinary,需要利用C API进行插入操作,但是试了N种方法均不行,下面列举一下我们使用过的方式:(bina为char数组,也即待插入的二进制数据,其中可能含有各种字符;)

1.

sprintf(str,"INSERT INTO test(id,test)VALUES(73,‘%s’)",bina);

int res=mysql_query(conn_ptr,str);

这种方式经常出现错误,是因为使用了字符串的格式化符%s,当作字符串进行插入,但是遇到bina中的\0字符就认为结束,故该方式不行;

2.

char *test="INSERT INTO test(id,test)VALUES(12,'";

strcpy(str,test);

mysql_real_escape_string(conn_ptr,str+37,bina,5);

strcat(str,"')");

int res=mysql_real_query(conn_ptr,str,47);

采用这种连接的方式进行插入,还是会遇到erro 1064 syntax error的提示。

请问大家有没有什么好的解决方案?

把bina做一次编码,比如bin2hex

#include

#include

#include

#include

#include

#define FirstDigit 48

void BinToHex(char* BinData, char* HexData)

{

long int Number = 0;

int BinLength = strlen(BinData);

for(int i=0; i

{

Number += ((BinData[BinLength - i - 1] - FirstDigit) * pow(2, i));

}

ltoa(Number, HexData, 16);

}

int main()

{

char* BinBuffer = "11110101";

char HexBuffer[256];

BinToHex(BinBuffer, HexBuffer);

printf("Bin: %s\nHex: %s", BinBuffer, HexBuffer);

getch();

return 0;

}

mysql varbinary 插入_Mysql中如何插入VarBinary二进制类型?相关推荐

  1. mysql blob 字段_MySQL中TEXT与BLOB字段类型的区别

    在MySQL中有两个字段类型容易让人感觉混淆,那就是TEXT与BLOB,特别是自己写博客程序的博主不知道改为自己的博客正文字段选择TEXT还是BLOB类型. 下面给出几点区别: 一.主要差别 TEXT ...

  2. mysql ipv6 字段_MySQL中ipv6地址用什么类型存储?

    ipv6逐渐普及了,我们的服务要支持用户通过ipv6和iPv4地址请求,存储用户来源IP势在必行. pgsql中有ip地址类型,mysql没有. mysql提供的方案是用二进制存储用函数做转换为人可读 ...

  3. mysql中sql批量插入_MySQL批量SQL插入性能优化

    对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长. 特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久.因此,优化数据库插入性能是很有意义的 ...

  4. php mysql 插入图片_mysql中怎样插入图片

    mysql中插入图片的方法:首先要在数据库中建表:然后装载JDBC驱动,建立连接:最后创建Statement接口类,来执行SQL语句即可. mysql中插入图片的方法: 1.首先,先要在数据库中建表. ...

  5. MySQL表如何导入图片_mysql中怎样插入图片

    mysql中插入图片的方法:首先要在数据库中建表:然后装载JDBC驱动,建立连接:最后创建Statement接口类,来执行SQL语句即可. mysql中插入图片的方法: 1.首先,先要在数据库中建表. ...

  6. mysql如何插入图片和视频_mysql中怎样插入图片

    mysql中插入图片的方法:首先要在数据库中建表:然后装载JDBC驱动,建立连接:最后创建Statement接口类,来执行SQL语句即可. mysql中插入图片的方法: 1.首先,先要在数据库中建表. ...

  7. mysql 存储过程查询优化_mysql用存储过程插入百万条数据, 及查询优化

    查看所有存储过程: show procedure status; 查看详细存储过程 ptest: show create procedure ptest; 存储过程插入数据: create table ...

  8. c 读取mysql 时间字段_MySQL中的时间字段的几种数据类型比较

    1.序言 ​ 最近在项目开发时,对于MySQL数据库中的有关时间的字段该选用何种类型,引发了一些争论.所以做了一些简单的研究,看了一些blog,和官方文档.最后做出一个自己的总结. 2.类型比较 IN ...

  9. mysql int(3)_MySQL中int(11)与int(3)的区别_MySQL

    11.2. 数值类型 MySQL支持所有标准SQL数值数据类型.这些类型包括严格数值数据类型(INTEGER.SMALLINT.DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT.RE ...

  10. mysql 自动截断_MySql中关于超长自动截断的案例详解

    这篇文章主要介绍了MySql超长自动截断实例详解的相关资料,这里通过实例来说明如何实现自动截断的功能,需要的朋友可以参考下 MySql超长自动截断实例详解 小伙伴问到一个问题,为啥在项目中调用插入或者 ...

最新文章

  1. 用户信息检索另一台服务器,客户机上一用户访问另一台机器上的informix数据库...
  2. js 中对象--属性相关操作
  3. 软件项目管理0707:要对客户发自真心的好
  4. 超低延迟实时流媒体传输技术
  5. 图片安全保护(未启动)
  6. 利用瑞利里兹方法计算固有频率的程序_不可不知的电机磁致伸缩计算方法
  7. python编程多行输入_python多行输入的方法有哪些
  8. mysql 格式化_mysql中格式化数字详解
  9. mysql group by cube_group by、grouping sets、with rollup、with cube方法
  10. windows如何安装MySql(包含一些安装时问题的解决)
  11. 【渝粤教育】国家开放大学2018年春季 7067-22T康复护理学 参考试题
  12. 深入理解RunLoop(四)
  13. 何为监督学习、无监督学习、强化学习、弱监督学习、半监督学习、多示例学习?
  14. iOS - Push 通知推送
  15. java给手机发短信_java web 项目向手机发送短信
  16. dreamweaver动漫HTML网站制作——海贼王主题网页1页海贼王我当定了(HTML+CSS)
  17. Android Studio 必备技巧:TODO 用法及自定义 TODO
  18. 英语语音篇 - 拼读规则
  19. 于是,我搭了个自己的博客网站
  20. 教你看懂Code128条形码

热门文章

  1. Java:结合JavaSocket编程开发文本处理程序
  2. Java完全自学手册,从外包到大厂,再到万粉博主都靠它
  3. 蓝牙耳机测试软件apk_蓝牙耳机弹窗app下载-蓝牙耳机弹窗软件v3.1.0安卓版_5577安卓网...
  4. Qt开源作品40-图片及文字与base64编码互换
  5. jvisualvm监控java,配置 jvisualvm 监控Java虚拟机
  6. java数独流程图_软件工程个人项目总结-数独
  7. Android 长截屏原理
  8. 用python画篮球场_Python可视化分析——科比整个职业生涯的投篮点分布
  9. MySQL存储过程和函数的区别
  10. vi编辑器复制删除常用命令