(对C++完全陌生。(来自python)
名称向量:namelist,统计向量:statlist。每个名称都是一个mysql表,每个stat是该表中的一个列。
for (unsigned int i = 0; i < namelist.size(); i++)
{
for (unsigned int j = 30; j < statlist.size(); j++)
{
string selectcolumn = "SELECT %s FROM %s.%s", statlist, statlist, namelist;
const char* c = selectcolumn.c_str();
qstate = mysql_query(conn, c);
}
}(我不希望人们为我做这件事,我只是需要一些指导/建议。任何帮助都是非常感谢的!)
每一列行将按百分位数排列,然后按10分成组,然后放到另一个表中。
发布于 2019-12-17 16:58:05
如果我们看不出statlist和namelist是什么类型,我们只能假设它们是std::vector的。我真的不知道这是否是您想要的“逻辑”,但是您可以这样连接字符串:
for (unsigned int i = 0; i < namelist.size(); i++)
{
for (unsigned int j = 30; j < statlist.size(); j++)
{
std::string selectcolumn = "SELECT " + statlist[j] +"FROM " + statlist[j] + "." + namelist[i];
const char* c = selectcolumn.c_str();
qstate = mysql_query(conn, c);
}
}发布于 2019-12-17 17:22:11
如果您正在寻找与您在Python中所做的工作直接等价的内容,那么您可能正在寻找printf()。
但是,我可能会按照其他人的建议,将字符串直接连接起来:
string selectcolumn = "SELECT " + statlist " FROM " + statlist "." + namelist;尽管如此,如果我不警告您有关SQL注入的话,我会对您造成不利影响,您只需将这些数据插入查询中即可。有有很多方法来防止这种情况,但我不确定这如何应用于C++,因为您似乎在使用某个第三方SQL库。不过,我认为原则是一样的。
2.我是否需要在选择时为每一列动态生成一个向量?3.一旦我选择了一个表列,我需要使用while循环吗?
这实际上取决于您使用什么来与SQL服务器进行接口,以及数据是如何返回给您的。这方面的细节尚不清楚,这部分不可能得到恰当的回答。
发布于 2019-12-17 16:51:40
考虑到statlist和namelist也是字符串,您可以使用连接运算符(C++中的“+”)。
例如,在本例中,您可以这样做:
"SELECT " + statlist + " FROM " + namelist + "." + statlisthttps://stackoverflow.com/questions/59378665
复制相似问题