Как динамически создать базу данных sqlite3 на iPhone? - PullRequest
2 голосов
/ 21 сентября 2010

Хотелось бы узнать, возможно ли создать файл базы данных путем программирования?На самом деле мне нужно создать базу данных, если она не существует.

Ответы [ 3 ]

1 голос
/ 22 сентября 2010

Я предполагаю, что у вас есть свои веские причины использовать sqlite3 напрямую, а не Core Data. Конечно, есть случаи, когда это уместно.

Функция sqlite_3_open() создаст базу данных, если она еще не существует. Функция sqlite3_open_v2() создаст базу данных, если вы передадите SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE в параметре flags. Подробнее см. в документации .

Конечно, на iPhone вам необходимо убедиться, что вы создаете базу данных в каталоге для чтения и записи, например в каталоге документов приложения, а не в каталоге ресурсов, который доступен только для чтения.

На практике я никогда не пытался создать базу данных с нуля на iPhone. Мне всегда было проще просто включить пустой файл БД со схемой, предварительно созданной как ресурс приложения, а затем скопировать файл в каталог «Документы» при первом запуске приложения.

0 голосов
/ 23 сентября 2010

Спасибо за ваши ответы, я никогда не использовал базовые данные, поэтому я посмотрю на это.

На данный момент я также копирую файл БД из каталога Resource в Documents, но я хотел бы создать статическую библиотеку, которая может использоваться многими людьми. Поэтому я бы дал минимум файлов для добавления в свой проект. Вот причина.

0 голосов
/ 21 сентября 2010

Вы уверены, что вам нужно создать файл базы данных напрямую?Может быть, вам стоит проверить Core Data Framework .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...