我数据库里面的字段类型是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类型的参数
求大神指教!自己弄了一上午了,很难受