我使用的是C++的MySQL C API来连接到数据库的数字。我想这样从数据库中选择一些数字。获取直接使用MySQL C API
有没有一种方法来获取数字类型,比如整数或双到本地C类型,如int或double直接,而不必从一个字符串解析它们?
编辑: 如何枚举?我讨厌每次都做一个strcmp而不是使用switch。
我使用的是C++的MySQL C API来连接到数据库的数字。我想这样从数据库中选择一些数字。获取直接使用MySQL C API
有没有一种方法来获取数字类型,比如整数或双到本地C类型,如int或double直接,而不必从一个字符串解析它们?
编辑: 如何枚举?我讨厌每次都做一个strcmp而不是使用switch。
谢谢你,但实际上我想我只是找到了一种方法,同时寻找不同的东西......
预处理语句可以做的工作。选择数据时,结果存储在MYSQL_BIND中,就像准备好的语句参数一样。在MYSQL_BIND中,这些值被存储为本地C类型。我认为这些链接是有帮助的:
http://lgallardo.com/en/2011/06/23/sentencias-preparadas-de-mysql-en-c-ejemplo-completo/ http://dev.mysql.com/doc/refman/5.5/en/mysql-stmt-fetch.html#id1363684
我不这么认为 - 据我所知的一切都将返回一个char *中,然后由你来解释。
如果您所撷取涉及到一个枚举值,则使用
int res = atoi(row[0])
然后
switch(res)
{
case ENUM_VAL_1:
break;
}
双打,使用类似的strtod()从字符转换*。 (这也检查非数字太)