2017-06-08 19 views
0

これは私のデータベースですが、データベース内のsmaにmaを挿入しようとしていますが、エラーは次のように発生します: int mysql_query(MYSQL *、const char *)の機能が多すぎます mysql.h内の 行:int STDCALL mysql_query(MYSQL * mysql、const char * q);C++ mysqlの挿入

while(true) 
    { 
     mysql_query(conn, " select close, id from fivemin order by id DESC LIMIT 5 "); 
    result = mysql_store_result(conn); 
    num_fields = mysql_num_fields(result); 
    float sum = 0; 
    while((row=mysql_fetch_row(result))) 
     { 
       sum += atof(row[0]); 
       last_id = atoi(row[1]); 

     } 
    float ma; 
    ma=sum/5.0; 
    if(previous_last_id != last_id) 
     { 
     cout << "Simple moving Average: " << ma << endl; 
     previous_last_id = last_id; 
     } 

    mysql_query(conn,("insert into sma values('%f')"),ma); 
    Sleep(1000); 
} 
+0

を。 C++には[C++コネクタ](https://dev.mysql.com/doc/connector-cpp/en/connector-cpp-examples-query.html)があります。 – tadman

答えて

1

mysql_query(conn,("insert into sma values('%f')"),ma)には3つの引数があります。

あなたはmysql_query.

例を呼び出す前に、あなたの文字列をフォーマットする必要があります:あなたがここにCコネクタを使用している

char str[80]; 
sprintf(str, "insert into sma values('%f')", ma); 
mysql_query(conn, str); 
+0

エラーsprintfがこのスコープで宣言されていません – KAJI

+0

ヘッダー「」を含めましたか? – Tarod

+0

お手伝いいただきありがとうございます。また、Stack Overflowへようこそ。この回答があなたの問題を解決した場合は、それを合格とマークしてください。 – Tarod