菜鸟求教!如何将c中变量的值插入到数据库中??

lonelywolf1981cn 2003-11-19 10:02:29
我是在linux下用c编程,使用mysql数据库,想将c中的一个变量值插入到数据库中,不知如何实现。
像这样写是肯定不行的:
float i;
i = 5.00;
mysql_query(&my_connection, "INSERT INTO my_tb(data) VALUES(i)");
我试过把sql语句中的i换成@i还是不行,我应该怎样写才对呢??
各位帮帮忙啊!!
...全文
119 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lonelywolf1981cn 2003-11-20
  • 打赏
  • 举报
回复
哦,这样解决啊!!我怎么没想到呢!!
多谢小木指点,感激不尽!!
lxf_1976 2003-11-19
  • 打赏
  • 举报
回复
呵呵,c下面楼主的情形可以这么操作字符串:
float i;
i = 5.00;
char str[32]="hello";
char strSQLCmd[1024];
sprintf(strSQLCmd, "INSERT INTO my_tb(id, data) VALUES(%d, '%s')", i, str);
mysql_query(&my_connection, strSQLCmd);

另:my_connection最好使用的是MYSQL的指针,不要用实例,即程序开始时new一个MYSQL
lonelywolf1981cn 2003-11-19
  • 打赏
  • 举报
回复
好像不对啊!由于c中没有string型变量,我是这样写的:
float i;
i = 5.00;
char *strSQLCmd;
strSQLCmd = "INSERT INTO my_tb(data) VALUES(" + i + ")";
mysql_query(&my_connection, strSQLCmd);

编译时发生错误,我发现是引号的问题,于是把第三句改为:
strSQLCmd = "INSERT INTO my_tb(data) VALUES(\" + i + \")";

这次倒是可以编译,执行了,但执行后插入的值始终是0,而不是i的值!
是哪里出错了呢??
shuixin13 2003-11-19
  • 打赏
  • 举报
回复
float i;
i = 5.00;
String strSQLCmd;
strSQLCmd = "INSERT INTO my_tb(data) VALUES(" + i + ")"
mysql_query(&my_connection, strSQLCmd);

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧