MySQL C API mysql_query

问题描述 投票:0回答:2

我在使用MySQL C API时遇到两个问题。在执行mysql_query()时,如何获取要添加到表中的变量,如何使表显示小数?

这是我的代码:

void insertDataToTable(MYSQL* con, float temp, int k)
{
    mysql_query(con, "INSERT INTO Weatherstation VALUES(@k,'Temperature:', @temp)");
}

谢谢!

mysql c mysql-connector
2个回答
2
投票

尝试一下

void insertDataToTable(MYSQL* con, float temp, int k)
{
    char query[255] ;

    sprintf( query, "INSERT INTO Weatherstation VALUES(%ld,'Temperature:', %d)", temp, k );
    mysql_query(con, query );


}

0
投票

MySQL并不很好地支持主机变量,上一个答案显示了将查询构建为字符串然后使用mysql_query(someconnection,string)的正确方法。

绝对令人震惊的是,它没有得到应有的记载。当我必须学习这一知识时,我拥有30年的DB2和C语言,经过2个小时毫无结果的搜索“ MySQL Host Variables”之后,我不得不从GitHub获得该知识。

如果您的查询不是常规字符串并且包含嵌入的null,则传递给它字符串的长度,但是也可以将strlen()调用移出服务器,您还应该知道mysql_real_query。

© www.soinside.com 2019 - 2024. All rights reserved.