d7d1cd Опубликовано 8 января, 2015 Поделиться Опубликовано 8 января, 2015 Привет всем! Есть база данных Firebird. Необходимо из приложения отправить SQL запрос для этой базы и полученные данные вывести в список ListBox. Подскажите, какие компоненты FireDAC необходимо использовать для этого. Цитата Ссылка на комментарий
0 d7d1cd Опубликовано 4 ноября, 2015 Автор Поделиться Опубликовано 4 ноября, 2015 Я в базах данных полный ноль. Поэтому прошу прощения за неправильные объяснения - я, повторюсь, многого не знаю. Поразмыслив, я пришел к выводу, что мне необходимо работать с базой данных без установки СУБД. Чтобы пользователь запустил мою программу, не устанавливая больше ничего у себя на компьютере. Как я понял, в Firebird это возможно, используя архитектуру сервера Embedded (когда весь движок содержится в одной библиотеке). Я правильно все понимаю? Цитата Ссылка на комментарий
0 Nik Опубликовано 4 ноября, 2015 Поделиться Опубликовано 4 ноября, 2015 да, правильно понимаете.. Цитата Ссылка на комментарий
0 Vitaldj Опубликовано 5 ноября, 2015 Поделиться Опубликовано 5 ноября, 2015 Я в базах данных полный ноль. Поэтому прошу прощения за неправильные объяснения - я, повторюсь, многого не знаю. Поразмыслив, я пришел к выводу, что мне необходимо работать с базой данных без установки СУБД. Чтобы пользователь запустил мою программу, не устанавливая больше ничего у себя на компьютере. Как я понял, в Firebird это возможно, используя архитектуру сервера Embedded (когда весь движок содержится в одной библиотеке). Я правильно все понимаю? Простите, что я вмешиваюсь, а чем тебе SQLite не угодил? Это как раз Embedded база данных. Есть библиотеки для всех платформ. Используется повсеместно и зарекомендовала себя с хорошей стороны. Я раньше (очень давно) работал только с mysql и других не знал и знать не хотел, но жизнь течет и изменяется.... Цитата Ссылка на комментарий
0 rustam_d Опубликовано 5 ноября, 2015 Поделиться Опубликовано 5 ноября, 2015 Если SQLite не устраивает, тогда речь походу об VCL...т.к. для варианта Firebird Embedded(БД) на гаджетах не айс в сравнении... Цитата Ссылка на комментарий
0 Vitaldj Опубликовано 5 ноября, 2015 Поделиться Опубликовано 5 ноября, 2015 Если SQLite не устраивает, тогда речь походу об VCL...т.к. для варианта Firebird Embedded(БД) на гаджетах не айс в сравнении... Да Firebird ваще не айс)))). Как то работал с ней, слишком медленная, как мне показалось, но это мое мнение! Цитата Ссылка на комментарий
0 d7d1cd Опубликовано 5 ноября, 2015 Автор Поделиться Опубликовано 5 ноября, 2015 Я не работал ни с одной базой данных, поэтому надо с чего-то начать. Решил начать с Firebird: кое-какие знания по этой СУБД я имею. Поэтому прошу вас не переубеждать меня в выборе, ибо всегда можно найти человека, который поддержит меня и скажет, что FB - лучше всех! Но порошу вас помочь в начале работы. Итак, мне необходимо написать программу со встроенным сервером FB. Программа должна будет выводить на экран содержимое базы данных, а так же добавлять данные и удалять их. Для начала в IBExpert я создал файл базы данных. В базе у меня одна таблица с именем TABLE, которая состоит из двух полей ID и FIELD. Поле ID - ключевое поле с генератором значений. Поле FIELD текстовое поле с длиной 50 символов. Теперь вопрос: как добавить в эту БД строку? Цитата Ссылка на комментарий
0 Nik Опубликовано 5 ноября, 2015 Поделиться Опубликовано 5 ноября, 2015 Я сторонник Firebird - так что не надо никого искать ))) insert into table (id, field) values (1, 'text'); Это SQL-код для вставки записи.. function ExecSQL(aDB: TIBDatabase; aTrans: TIBTransaction; const aStr: string; const Args: array of variant): boolean; var Query: TIBQuery; i: integer; s: string; begin Query := TIBQuery.Create(aDB); Result := True; try try with Query do begin DataBase:=aDB; Transaction := aTrans; if aTrans.Active then aTrans.Active:=false; aTrans.StartTransaction; SQL.Text:=aStr; Prepare; for i:=low(Args) to high(Args) do Params[i].Value:=Args[i]; ExecSQL; aTrans.Commit; Close; end; except on E: Exception do begin aTrans.Rollback; Result:=false; end; end; finally aTrans.Active:=false; Query.Free; end; end; Такую процедуру я использовал для выполнения запросов, которые не возвращают результат (не select-запросы), только компоненты в данном случае используются IBX, а не FireDAC. Но принцип точно такой же. Цитата Ссылка на комментарий
0 d7d1cd Опубликовано 5 ноября, 2015 Автор Поделиться Опубликовано 5 ноября, 2015 Вы резво начали . Давайте потихоньку. Я создаю проект. Какие компоненты IBX необходимы? И, кроме этого, как использовать библиотеку Embedded сервера? Цитата Ссылка на комментарий
0 Andy Опубликовано 5 ноября, 2015 Поделиться Опубликовано 5 ноября, 2015 Вы резво начали . Давайте потихоньку. Я создаю проект. Какие компоненты IBX необходимы? И, кроме этого, как использовать библиотеку Embedded сервера? Компоненты IBX и FireDAC сами работают с библиотекой сервера (fbembed.dll). Если выбираешь работать с IBX то IBDatabase, IBTransaction, IBDataset или IBQuery (первый умеет делать не только select, но и insert, delete, update, а второй только select (ну почти, если не подключать IBSQLUpdate). Имхо IBX лучше для начала изучения, но потом советую перейти на FireDAC. Кидаешь на форму IBDatabase, IBTransaction, IBDataset. Связываешь между собой (думаю разберешься там все интуитивно). В IBDataset.SelectSQL пишешь свой первый запрос: select id, field from TABLE Дальше можно через ComponentEditor (ПКМ да IBDataset) - Dataset Editor или ручками в свойствах InsertSQL, UpdateSQL, DeleteSQL создать запросы на вставку, обновление и удаление записей из таблицы. Тут лучше первый вариант (там есть кнопка Generate SQL) - так быстрее разберешься что к чему. Пока все, Удачи Цитата Ссылка на комментарий
0 d7d1cd Опубликовано 5 ноября, 2015 Автор Поделиться Опубликовано 5 ноября, 2015 Спасибо, буду пробовать. Цитата Ссылка на комментарий
0 krapotkin Опубликовано 5 ноября, 2015 Поделиться Опубликовано 5 ноября, 2015 с т.з. инструментов и удобства из моего опыта работы с Firebird, MySQL и Postgres - FB - наиболее удобна, у нее и файл единый и сервер маленький, и средств больше чем в MySQL самое главное - есть такой же бесплатный IBExpert для работы с БД Цитата Ссылка на комментарий
0 Nik Опубликовано 5 ноября, 2015 Поделиться Опубликовано 5 ноября, 2015 Вы резво начали . Давайте потихоньку. Я создаю проект. Какие компоненты IBX необходимы? И, кроме этого, как использовать библиотеку Embedded сервера? сорри.. привычка кодить руками )) по поводу библиотеки Embedded - скачайте архив с этой версией с сайта firebirdsql.org. Это архив будет. Его надо распаковать в корневую папку вашего приложения (причём всякие doc, pdf, txt можно удалить). Этого достаточно, чтобы ваше приложение могло работать без установки сервера СУБД. Цитата Ссылка на комментарий
0 Andy Опубликовано 5 ноября, 2015 Поделиться Опубликовано 5 ноября, 2015 И да: Embedded лучше использовать уже у клиентов, для разработки советую поставить полноценный сервер, просто зачастую надо и в IDE базу держать открытой и при этом в IBExpert... а Embedded работает с базой в монопольном режиме. Цитата Ссылка на комментарий
0 d7d1cd Опубликовано 5 ноября, 2015 Автор Поделиться Опубликовано 5 ноября, 2015 Спасибо вам, уважаемые, за помощь! Буду пытаться сделать что-то сам . Но вопросы будут. В дальнейшем. Цитата Ссылка на комментарий
0 ruslan Опубликовано 5 ноября, 2015 Поделиться Опубликовано 5 ноября, 2015 (изменено) зашел называется.... парочка вопросов: 3-х звенка вещь профессиональная, и на ней нужен C# господа, да да, т.к. никакой это нафиг не RAD что-то вот не понял. использую и delphi и c#. И что-то вот не вижу смысла в Вашем утверждении, ну ни грамма смысла. почему именно c# ? чем для 3-звенки c# лучше delphi ? причем тут rad вообще ? был чуть ли не профи прогером по pl/sql. Позже я возненавидел оракл, т.к. познал какая отвратительная работа по администрированию его. А ведь я насмехался над админами, особенно раздражала одинаковая ЗП, до тех пор...пока не столкнулся с администрированием сам... Сейчас больше нравиться MSSQL, там чувствуют комфортно обе стороны, прогеры и админы. сам который год на pl\sql. Поясните, пож-то, чем же администрирование oracle отвратительнее mssql ? как разработчик(профи) может возненавидеть субд через несколько лет активного использования, из-за якобы "отвратительного" администрирования ? были профи прогером ? на pl\sql ? и ушли ? да не смешите... в казахстане "профи" pl\sql разработчик может иметь ОТ 60 у.е.\час. В Беларуси таких оплат нету На текущий момент прибыль дает больше VCL чем FMX...но я стараюсь сравнять неравенство, т.к. полюбил облака, ведь это свобода. fmx - свобода ? ну-ну... п.с. сори за оффтоп. ну просто жуть как интересно стало Изменено 5 ноября, 2015 пользователем ruslan Цитата Ссылка на комментарий
0 rustam_d Опубликовано 6 ноября, 2015 Поделиться Опубликовано 6 ноября, 2015 (изменено) что-то вот не понял. использую и delphi и c#. И что-то вот не вижу смысла в Вашем утверждении, ну ни грамма смысла. почему именно c# ? чем для 3-звенки c# лучше delphi ? причем тут rad вообще ? за чисто 3-х звенку не скажу, ведь сайт о гаджетах, если вам удалось решить все недостатки что я описал выше...то да RAD - "тема" ) сам который год на pl\sql. Поясните, пож-то, чем же администрирование oracle отвратительнее mssql ? как разработчик(профи) может возненавидеть субд через несколько лет активного использования, из-за якобы "отвратительного" администрирования ? Руслан, я писал там мимоходом...не работаю я более на ЗП, слава богу сам по себе теперь и весьма доволен, но зарекаться не буду )) Когда сам по себе то и инстоллить все компоненты(сервер, дрова, файрволы и т.п.) зачастую надо "сам по себе"... Вы ставили оракл на красные шляпы? А бывает что и не на интелы приходиться...тогда вообще "верх счастья". Да это полбеды...настраивать тоже далеко не айс... переполнение логов контролировать вообще полный ппц. Ну а если че завалилось, то exp вас не всегда выручит...я молчу если app сервер оракла упадет...коннектить дата файлы не судьба...Винду для оракла даже не рассматриваю, там он не стабилен. MSSQL конечно не потянет дикие базы вроде GSM, но таких проектов и нет. В MSSQL установка, коннект дата файлов, бекап...ВСЕ мышкой! Мечта. Оракл он рай для прогеров...но для админов АД. в казахстане "профи" pl\sql разработчик может иметь ОТ 60 у.е.\час. В Беларуси таких оплат нету хорошие фирмы с идеальными ЗП от 2-4к $ я все их в КЗ знаю по пальцам, и не более пальцев, выше тока блатные руковод, но не прогеры 60$ в час...хм за 10ч получается 600$ ? Не тока в беларусии таких ЗП нет...даже в штатах )) кто вам сказки то такие поет...у нас вчера началась очередная девальвация...и рай 1 рубль = 3 тенге - прекратился! щас как и ранее (UPD:) 1р = 5тг (и без крыма) ситуация не то чтобы лоховская...хуже, у нас как и в раше изначально после распада СССР абсолютная изоляция народа от доходов от природных ресурсов(нефть, металлы, газ), только избранные, ...каждый день бентли разбивают... Я в курсе про вашу перспективу деноминации...но чем черт не шутит...может и нам светит...девальвация то тока началась... кругом сокращения покатили, исчезают бонусы и премии...жесть fmx - свобода ? ну-ну... п.с. сори за оффтоп. ну просто жуть как интересно стало я не веб прогер, поэтому для меня свобода, свобода в данном случае мобильность и простота обновления программы. Магазы вещь гениальная, но в appstore надо с калашом как нить заехать...достали Изменено 6 ноября, 2015 пользователем rustam_d Равиль Зарипов (ZuBy) 1 Цитата Ссылка на комментарий
Вопрос
d7d1cd
Привет всем! Есть база данных Firebird. Необходимо из приложения отправить SQL запрос для этой базы и полученные данные вывести в список ListBox. Подскажите, какие компоненты FireDAC необходимо использовать для этого.
Ссылка на комментарий
39 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.