2012-03-21 51 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()從字符轉換*。 (這也檢查非數字太)