float i;
i = 5.00;
String strSQLCmd;
strSQLCmd = "INSERT INTO my_tb(data) VALUES(" + i + ")"
mysql_query(&my_connection, strSQLCmd);

解决方案 »

  1.   

    好像不对啊!由于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的值!
    是哪里出错了呢??
      

  2.   

    呵呵,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