Здравствуйте!
Мне надоело каждый раз после завершения работы программы удалять таблицу из БД .Эта прога создает эту самую таблицу следующим образом(MFC ODBC)
вот и если не удалить таблицу перед новым запуском проги вылетает ошибка
поэтому надо бы написать
if(таблицы нет)
db.ExecuteSQL("create table (field1,field2,...)");
Здравствуйте, diarti, Вы писали:
D>вот и если не удалить таблицу перед новым запуском проги вылетает ошибка D>поэтому надо бы написать D>if(таблицы нет) D>db.ExecuteSQL("create table (field1,field2,...)");
В MySQL можно так:
create table if not exists `table_name` (field1,field2,...)
Здравствуйте, diarti, Вы писали:
если база не поддерживает то что написал King Oleg, то вставь на завершение программы код удаляющий таблицу, т.е. drop table
Здравствуйте, diarti, Вы писали:
D>Здравствуйте! D>Мне надоело каждый раз после завершения работы программы удалять таблицу из БД .Эта прога создает эту самую таблицу следующим образом(MFC ODBC)
D>CDatabase db; D>db.Open(...); D>db.ExecuteSQL("create table (field1,field2,...)");
D>вот и если не удалить таблицу перед новым запуском проги вылетает ошибка D>поэтому надо бы написать D>if(таблицы нет) D>db.ExecuteSQL("create table (field1,field2,...)");
D>Так что вставить вместо "таблицы нет" в if()?
D>заранее спаасибо!
В каждой базе данных есть системная таблица перечня всех существующих таблиц. Например в Access — это MSysObjects. Вот из нее и можно брать необходимую информацию элементарным запросом.
Здравствуйте, h256, Вы писали:
H>Здравствуйте, diarti, Вы писали: H>если база не поддерживает то что написал King Oleg, то вставь на завершение программы код удаляющий таблицу, т.е. drop table
Уж лучше и перед "create". А то мало ли, как программа закроется