我想從我的表中獲取名爲'person'的行。我希望在指標的幫助下做到這一點,以避免在沒有名字的情況下發生異常。這個怎麼做?使用SOCI與soci :: indicators獲取表中的行[C++]
我寫的代碼:
try
{
soci::statement st = (sql.prepare << "SELECT firstname FROM person;", soci::into(r, ind));
st.execute();
while (st.fetch())
{
if(sql.got_data())
{
switch(ind)
{
case soci::i_ok:
std::cout << r.get<std::string>(0) << "\n";
break;
case soci::i_null:
std::cout << "Person has no firstname!\n";
break;
}
}else
{
std::cout << "There's no such person!\n";
}
}
}
但它沒有顯示出行,只有當我添加一行:
std::cout << r.get<std::string>(0) << "\n";
在我的if語句,才把我看到數據庫firstnames。