2013-07-15 2 views
1

Я прочитал несколько раз, что мне нужно открыть и закрыть соединение с базой данных при изменении схемы при использовании FMDB. Тем не менее, нижеследующие работы прекрасны:Нужно ли открывать и закрывать соединение при каждом изменении схемы?

FMDatabase *derp = [self getDefaultDatabase]; // custom function that returns open db 
[derp executeUpdate:@"create table `derping` (`id` int, `time_stamp` datetime, primary key (id))"]; 
[derp executeUpdate:@"INSERT INTO derping (id) VALUES (123)"]; 
FMResultSet *derping = [derp executeQuery:@"select * from derping"]; 
[derping next]; 
NSLog(@"%@", [derping resultDictionary]); 

Это опасно? Есть ли ситуации, когда это не удастся?

ответ

1

Я думаю, что то, что вы делаете, должно быть в порядке - но если вы измените таблицу, то лучше не забудьте закрыть, а затем снова открыть дескриптор базы данных.

+0

Итак, появятся ли новые таблицы, но измененные таблицы не будут отображаться? –

+0

Достаточно ли делать 'clearCachedStatements'? –

+0

(И, может быть, 'closeOpenResultSets'.) –

Смежные вопросы