我已經做了一些搜索和審查的C語言編程的API,它是在這裏得到了從存儲過程的參數:如何通過C編程API
http://dev.mysql.com/doc/refman/5.1/en/c-api-prepared-statement-functions.html
它的大部分面向對獲取數據行回來,這很容易。該存儲過程是被稱爲像這樣從C程序(我知道我應該綁定參數我會...):
sprintf(cmd, "CALL get_graph_data(\"%s\", \"%s\");", symbol, scope);
if (mysql_query(conn, cmd)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn);
if(res == NULL) { ; // how do I get output parameters in this case ? umm...
} else {
num_fields = mysql_num_fields(res);
while ((row = mysql_fetch_row(res)) != NULL)
{
do stuff
}
}
,我呼籲看起來像這樣的存儲過程:
create procedure get_graph_data (
symbol varchar(20),
period varchar(5),
OUT status SMALLINT,
OUT emsg varchar(255)
)
所以 - 我無法弄清API調用來獲取兩個輸出參數status和emsg。另外,在sproc生成零行的情況下(某些用戶輸入驗證必須在db中進行,而不必額外調用它),那麼'res'將返回NULL,因此不確定如何獲取輸出參數那種情況...
TIA!
考慮在程序參數 – triclosan 2012-02-08 12:00:54