2012-03-21 52 views
2

我使用的是C++的MySQL C API来连接到数据库的数字。我想这样从数据库中选择一些数字。获取直接使用MySQL C API

有没有一种方法来获取数字类型,比如整数或双到本地C类型,如int或double直接,而不必从一个字符串解析它们?

编辑: 如何枚举?我讨厌每次都做一个strcmp而不是使用switch。

回答

4

谢谢你,但实际上我想我只是找到了一种方法,同时寻找不同的东西......

预处理语句可以做的工作。选择数据时,结果存储在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

0

我不这么认为 - 据我所知的一切都将返回一个char *中,然后由你来解释。

如果您所撷取涉及到一个枚举值,则使用

int res = atoi(row[0]) 

然后

switch(res) 
{ 
case ENUM_VAL_1: 
break; 
} 

双打,使用类似的strtod()从字符转换*。 (这也检查非数字太)