Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос по ODBC

5.7K
21 июля 2011 года
Lindemann66
193 / / 21.07.2011
Привет всем!
Стандартная проблема, но, к сожалению, не знаю как решить, так rак не могу найти информацию
Нужно получить id записи после добавления

Код:
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 сказано, что функция ExecuteSQL
Цитата:
применима только для тех операторов SQL, в результате которых не ожидается возвращения данных



Больше никаких методов по выполнению запросов, кроме ExecuteSQL, я не нашёл

Кто-то сталкивался с подобной проблемой?
Как её решать?

5.7K
22 июля 2011 года
Lindemann66
193 / / 21.07.2011
Вобщем, сам отвечаю на свой вопрос
Может кому-то будет полезно

 
Код:
PagesSet *set = new PagesSet();
set->Open(CRecordset::dynamic, "SELECT id FROM pages");
set->MoveLast();
insert_id = set->m_dbopagesid;
set->Close();
delete set;


Кстати, к вопросу о том, что при такой выборке, если в базе будет 1000000 записей, это будет сильно тормозить
Указатель на set ссылается только на первую запись в выборке
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог