| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Базы данных > Подключение SQLite 3 к проекту на c++ bulder |
| Автор: IF 4.11.2009, 16:51 |
| Прочитал темы по sqlite на форуме. темки старый, обсуждается старый sqlite. но проблема даже не в версии. не могу подключить sqlite к проекту на c++ builder в Embarcadero® RAD Studio 2010. мне необходимо сделать программу, создающую бд и работающую с ней. с языком запросов sql знаком. все уперлось в незнание как подключить sqlite3.c и sqlite3.h из архива sqlite-amalgamation-3_6_19.zip (скаченного с офф сайта) к проекту и начать работать с бд. (хотя бы создать файл бд в той же папке) (dll за программой таскать не хочу. нужно чтобы все было в 1 файле) подскажите как это сделать |
| Автор: jonie 4.11.2009, 17:13 |
| IF, ну "просто добавь воды" - добавь эти файлы в проект и всё будет готово. рекомендую также посмотреть на проект sqlitepp, это boost надстройка над sqlite, очень даже симпотичная... |
| Автор: IF 4.11.2009, 17:40 | ||
| создал чистый проект с++ далее с помощью add to project добавил два файла из архива sqlite3.c и sqlite3.h добавляю текст из примера в программу. дописываю строку argv[i]="if.db"; чтобы создать бд.
если не обращать внимания на printf, которые здесь не нужны, то в папке с программой должна хотя бы создавать сама бд в виде файла if.db. у меня же нет ничего( p.s.: забыл добавить. я на с++ не кодил до этого, только на php и delphi. но как работать с бд представляю. |
| Автор: Anikmar 4.11.2009, 18:55 |
| А функция main что там делает вместе с формами? |
| Автор: IF 4.11.2009, 19:04 |
| взял с примера. чувствую пример не совсем под builder) |
| Автор: Anikmar 4.11.2009, 19:08 |
Это уж точно. Если работаете с формой поместите то, что вы запихали в main в обработчик нажатия какой-нибудь кнопки. Саму main уберите - в билдере она в другом модуле находится и создается автоматически. Этот модуль называется также как проект. |
| Автор: IF 4.11.2009, 19:17 |
| так здесь int main(int argc, char **argv){ а у меня на копнку void __fastcall TForm1::Button1Click(TObject *Sender) |
| Автор: Anikmar 4.11.2009, 19:21 | ||||
Ну и? Что вас смущает не врубаюсь. Какие параметры функциям передать?
|
| Автор: IF 4.11.2009, 19:31 | ||
| int argc, char **argv их куда теперь написать? если прямо в начале тела функции, то при надатии на кнопку выдается ошибка "access violation....".
не работает, выдает ошибку. если убрать char **argv, то не знает argv |
| Автор: Anikmar 5.11.2009, 00:06 |
Выкините их нафиг - они не нужны. Это параметры командной строки - я так понимаю, вы форму делаете - так что можно без командной строки обойтись. Я же вам пример уже набросал rc = sqlite3_open(argv[1], &db); Это просто указатель на строку |
| Автор: mrbrooks 5.11.2009, 08:44 |
| Для Билдера можно использовать AnyDAC. Хотя я бы использовал dot.Net со всеми вытекающими. |
| Автор: Anikmar 6.11.2009, 01:22 |
А вытекает там на пару гигов... |
| Автор: mrbrooks 6.11.2009, 08:54 |
Зря ты так ADO.NET вещь достаточно удобная. А в связке с Hibernate вообще выше всех похвал. |
| Автор: Anikmar 6.11.2009, 21:00 | ||
Мое ИМХО к расточительству ресурсов всем известно Жаден я не в меру! На самом деле не люблю, когда для работы моей проги нужно дофига дополнительных примочек, которых может не быть на компе пользователя. Говорю, жаден я. |
| Автор: benefaktor 12.11.2009, 11:25 |
| как подключится к бд с паролем? если просто указывать пароль в connectionstring пишет что database encrypted? |