Soulcalibur_W 2019-08-01 15:20 采纳率: 0%
浏览 426

C++ Sprintf_s函数补全缺省内容

我数据库里面的字段类型是varchar,现在有name和password两个字段
现在要update_
比如

update logininfo set password = '222' where name='111';

用sprintf_s可以动态设置password和name的值
图片说明

C语言里,%s是C风格的字符串,不是string吧,
所以我用string.data函数把string类型转换为char类型

char update_sql[255];   
sprintf_s(update_sql, "update logininfo set password = %s where name = %s", s1.data(),s2.data());

转完以后sprintf_s函数是可以了,但是sprintf_s的结果update_sql
数据库不识别了,我调试过了,sprintf_s成功把s1s2的值传进去了

mysql_query(&ceshi, update_sql);

编译器执行mysql_query语句返回错误,
是因为update_sql里的password和name的值是char类型的?
以前直接

string sql3 = "update logininfo SET password = '2018'where name='2018'";
mysql_query(sql3);

编译器是能执行成功的,
想用sprintf成功设置update语句的string类型的参数
求大神指教!自己弄了一上午了,很难受

  • 写回答

2条回答

  • qq_35642688 2019-08-02 15:44
    关注

    会不会是少个引号的问题?

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘