try {
CDatabase db;
if (db.Open("poll")) {
CString query;
query.Format("INSERT INTO pages "
"VALUES('%s', '%s', '%s', '%s')", url, title, keyWords, hash);
db.ExecuteSQL(query);
db.Close();
}
} catch(CDBException *pe) {
AfxMessageBox(pe->m_strError);
pe->Delete();
}
Вопрос по ODBC
Стандартная проблема, но, к сожалению, не знаю как решить, так rак не могу найти информацию
Нужно получить id записи после добавления
Код:
В учебнике по ODBC сказано, что функция ExecuteSQL
Цитата:
применима только для тех операторов SQL, в результате которых не ожидается возвращения данных
Больше никаких методов по выполнению запросов, кроме ExecuteSQL, я не нашёл
Кто-то сталкивался с подобной проблемой?
Как её решать?
Может кому-то будет полезно
Код:
PagesSet *set = new PagesSet();
set->Open(CRecordset::dynamic, "SELECT id FROM pages");
set->MoveLast();
insert_id = set->m_dbopagesid;
set->Close();
delete set;
set->Open(CRecordset::dynamic, "SELECT id FROM pages");
set->MoveLast();
insert_id = set->m_dbopagesid;
set->Close();
delete set;
Кстати, к вопросу о том, что при такой выборке, если в базе будет 1000000 записей, это будет сильно тормозить
Указатель на set ссылается только на первую запись в выборке