c ++ mysql_fetch_field获取变量名称和类型

时间:2013-03-19 16:10:48

标签: c++ mysql types field fetch

我正在尝试在向量中插入表格中变量的名称和类型。我使用的语言是C ++。

这是我的代码:

    std::vector<std::string> parameters;
    std::vector<std::string> types;
    request = "select * from " + table;
    //cout << request << endl;
    if(mysql_query(connection, request.c_str())){
    fprintf(stderr, "Impossible to get parameters: %s\n",
        mysql_error(connection));
    return EXIT_FAILURE;
    }
    result = mysql_store_result(connection);
    while (field_mysql=mysql_fetch_field(result)) {
        parameters.push_back(field_mysql->name);
        types.push_back(field_mysql->type);
        }

    for(vector<string>::iterator it = parameters.begin(); it != parameters.end(); it++) 
        cout << *it << endl;
    mysql_free_result(result);

我得到的错误:

  

没有匹配函数来调用std :: vector&lt; std :: basic_string&lt; char&gt; :: push_back(enum_field_types&amp;)'

我认为我收到此错误,因为type是整数,我将其声明为字符串,但我不确定。

1 个答案:

答案 0 :(得分:0)

“我想我得到了这个错误,因为type是整数,我把它声明为字符串,但我不确定。”

你是对的。只需将类型设为整数容器,就可以解决问题。