我使用的是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()從字符轉換*。 (這也檢查非數字太)