Текущий архив: 2014.08.17;
Скачать: CL | DM;
ВнизКак установить Firebird вместе с прогой? Найти похожие ветки
← →
Inovet © (2014-01-15 04:46) [40]> [39] Novicer (15.01.14 00:42)
> TIBTable
Для статистики?
> [39] Novicer (15.01.14 00:42)
> К базе конекчусь на OnShow главной формы без ошибок
Мсье знает толк в извращениях.
← →
Novicer (2014-01-15 10:29) [41]>Inovet С Firebird работаю первый раз, подскажите как надо правильно, если не сложно...
← →
Novicer (2014-01-15 10:32) [42]>DVM Базу сделал с нуля в IbExperte. После установки проги нужна ее регистрация на сервере или можно просто подключить указав путь к ней?
← →
DVM © (2014-01-15 10:34) [43]
> После установки проги нужна ее регистрация на сервере или
> можно просто подключить указав путь к ней?
Просто путь на сервере. А еще лучше алиас сделать и его указывать, тогда не важно где база лежит и при перемещении ее, клиентов перенастраивать не придется (файл aliases.conf в папке сервера).
← →
DVM © (2014-01-15 10:41) [44]
> Novicer (15.01.14 10:29) [41]
> >Inovet С Firebird работаю первый раз, подскажите как надо
> правильно, если не сложно...
Ты раздели данные и представление. Формы отдельно, подключение к базе отдельно. Для всяких разных невизуальных компонентов типа соединения с базой данных и пр есть DataModule на него и клади. Подключаться имеет смысл до создания главной формы, ведь как правило от пользователя требуется ввод логина пароля для доступа к базе, поэтому последовательность примерно такова:
1) Старт программы
2) Показ формы с запросом пароля
3) Попытка подключения
4) Если подключились отображаем главную форму, если нет то ошибку и опять к 2) или выход.
← →
Novicer (2014-01-15 10:55) [45]Сделал подключение через try-except чтобы показать юзеру сообщение об ошибке если что, но для эксперимента изменил имя файла базы и попробовал приконектиться. Вместо сообщения вылетает ошибка IDE "файл не найден". Почему не работает try-except?
← →
Romkin © (2014-01-16 15:15) [46]
> > Romkin © (13.01.14 14:37) [30]> Нет, не достаточно.Почему
> нет? Для клиента, насколько знаю, более чем...
Недостаточно. Нужен еще как минимум firebird.msg и записи в реестре или firebird.conf
Скрипт установки можно найти по пути builds/install/arch-specific/win32/ в хранилище, если что.
И незачем мудрить, ключи описаны в installation_scripted
> TIBDataBase,TIBQuery,TIBTable,TDataSource,TDBGrid,TIBTransaction
1. Забудь о TIBTable навсегда.
2. FB допускает множество транзакций на одно подключение, и это удобно. Их надо распределять в соответствии с логикой изменений. Закрывать их надо обязательно и побыстрее.
3. http://ibase.ru/develop.htm#doc - курс молодого бойца и работу с транзакциями как минимум прочитать полностью.
← →
jack128_ (2014-01-16 16:21) [47]
> Закрывать их надо обязательно и побыстрее.
Read/ReadCommited/RecVersion/NoWait может жить сколько угодно без нагрузки на сервер.
← →
Novicer (2014-01-16 16:33) [48]Как установить курсор на нужную строку DBGrida используя IBQuery.Locatе? Или это нельзя сделать?
← →
Ega23 © (2014-01-16 17:28) [49]
> Или это нельзя сделать?
Можно.
> используя IBQuery.Locatе?
Так и используешь: IBQuery.Locate Если найдёт что-то, удовлетворяющее параметрам, то встанет само. Если не найдёт, то не встанет.
← →
RWolf © (2014-01-16 17:34) [50]
> asail © (11.01.14 03:16) [22]
> > Кстати, интербэйсовский gds32.dll вполне может работать
> с сервером FB.
насколько хорошо работает?
а то с fbclient.dll 2.5 → Firebird 1.5 проблемы возникают, например.
← →
Novicer (2014-01-16 17:45) [51]Пробовал так:
Form1.IBQuery1.Open;
Form1.IBQuery1. Locate ("COL1", Edit1.Text, [loCaselnsensitive, loPartialKey]);
Form1.IBQuery1.Close;
Не узнает компилятор loCaselnsensitive и loPartialKey :(
← →
Novicer (2014-01-16 17:47) [52]Огнептиц 2.5, Дельфи 2010, компоненты IBX
← →
Novicer (2014-01-16 17:48) [53]Тут у товарисча тоже не пашет: http://delphimaster.net/view/3-97965
← →
Novicer (2014-01-16 18:14) [54]Добавил в uses DB помогло :)
← →
Novicer (2014-01-16 19:07) [55]Теперь IDE компилит без ошибок но после выполнения
Form1.IBQuery1.Open;
Form1.IBQuery1. Locate ("COL1", Edit1.Text, [loCaselnsensitive, loPartialKey]);
Form1.IBQuery1.Close;
DBGrid очищается, а не ставит курсор на строку с совпадением. Почему?
← →
Inovet © (2014-01-16 19:15) [56]> [55] Novicer (16.01.14 19:07)
> Почему?
Потому что в DBGrid нет данных.
← →
Novicer (2014-01-16 19:38) [57]Данные в гриде есть, а после выполнения локейт исчезают :(
← →
asail © (2014-01-16 21:33) [58]
> Romkin © (16.01.14 15:15) [46]
>
> > > Romkin © (13.01.14 14:37) [30]> Нет, не достаточно.
> Почему
> > нет? Для клиента, насколько знаю, более чем...
>
> Недостаточно. Нужен еще как минимум firebird.msg и записи
> в реестре или firebird.conf
А они же для сервера нужны, а не для клиента, не?
Если честно, то с FB большого опыта нет, мы Интербэйс юзаем...
> RWolf © (16.01.14 17:34) [50]
>
> > asail © (11.01.14 03:16) [22]
> > > Кстати, интербэйсовский gds32.dll вполне может работать
>
> > с сервером FB.
>
> насколько хорошо работает?
Подозреваю, что не шибко хорошо. Мы только базовые вещи проверяли (клиент IB 7.5, сервер FB 1.что-то)... Т.е., если использовать только функционал, имеющийся в бородатых версиях ИБ (скажем, 5.хх), то должно работать. Все остальное - не факт.
← →
asail © (2014-01-16 21:34) [59]
> Novicer (16.01.14 19:07) [55]
> Теперь IDE компилит без ошибок но после выполнения
> Form1.IBQuery1.Open;
> Form1.IBQuery1. Locate ("COL1", Edit1.Text, [loCaselnsensitive,
> loPartialKey]);
> Form1.IBQuery1.Close;
> DBGrid очищается, а не ставит курсор на строку с совпадением.
> Почему?
Вот поэтому...
← →
asail © (2014-01-16 21:35) [60]
> Novicer (16.01.14 19:38) [57]
> Данные в гриде есть, а после выполнения локейт исчезают
> :(
Их там нет. Не обманывай нас.
← →
Inovet © (2014-01-16 21:41) [61]> [56] Inovet © (16.01.14 19:15)
> Потому что в DBGrid нет данных.
> [57] Novicer (16.01.14 19:38)
> Данные в гриде есть, а после выполнения локейт исчезают :(
В DBGrid данных нет. Так лучше.
← →
Novicer (2014-01-16 21:49) [62]Нет, так нет и фиг с ними. Как получить true или false в результат поиска без отображения данных в гриде. В эдит ввожу запрос например вишня, в списке базы(одна колонка) перечень продуктов. Хочу узнать есть ли она или нет? Надо использовать sql-запрос чтобы узнать или как-то перебором и сравнением данных в строках и эдите?
← →
Novicer (2014-01-16 23:38) [63]Берем данные из эдита, ищем... Если есть то ShowMessage(нашли) а если нет то ShoMessage(нет, звиняй братан) как-то так :)
← →
Novicer (2014-01-16 23:43) [64]Сделал поиск sql-запросом, данные находит и показывает в dbgrid, а мне их видеть не обязательно, хочу просто знать есть нужное в таблице или нет? По мере надобности можно потом отобразить данные :)
← →
Плохиш © (2014-01-16 23:47) [65]Здесь, этому сантехнику, уже основы почитать предлагали или проводят обучение онлайн?
← →
Novicer (2014-01-16 23:59) [66]Предлагали :) читаю... но пока до профи мне как пешком до Марса :) за три дня с нуля научился как подключиться к базе, как внести данные в базу, как изменить данные, как удалить, как найти точно то шо надо, как найти похожее на то что надо и все это показать себе любимому :) на этом успехи закончились и начались вопросы к профи... ;)
← →
Inovet © (2014-01-17 09:32) [67]> [64] Novicer (16.01.14 23:43)
> хочу просто знать есть нужное в таблице или нет?
SELECT COUNT(*) WHERE
отделным запросом и провереить сколько там вернулось.
← →
Novicer (2014-01-17 10:16) [68]Можно передать данные из запроса в переменную и уже ее сравнивать?
← →
Inovet © (2014-01-17 10:26) [69]> [68] Novicer (17.01.14 10:16)
> Можно передать данные из запроса в переменную и уже ее сравнивать?
IBQuery1.FieldByName("ChoToTam").AsInteger
или для счётчика известно, что у тебя вообще точно одно поле
IBQuery1.Fields[0].AsInteger
← →
Novicer (2014-01-17 10:45) [70]И запрос и строки таблицы тип String. Так будет правильно :
if Edit1.text=IBQuery1.FieldByName("Col1").AsString then ShowMessage("Нашли")
В таблице одна колонка Соl1
Я так понимаю можно также не указывать явно имя поля по которому делаю поиск, а указать лишь индекс Fields[0]? Что даст возможность перебора и поиска в цикле по всем полям таблицы. Верно?
← →
RWolf © (2014-01-17 10:54) [71]
> [70]
Если приходится прибегать к поиску по полям таблицы, значит, база криво спроектирована. СУБД заточена на поиск по записям.
← →
Novicer (2014-01-17 11:06) [72]Имел ввиду по записям, "плаваю" пока в терминах огнептички :)
← →
Novicer (2014-01-17 12:06) [73]Не пашет :( показывает на текущую запись, а нужен поиск...
← →
Inovet © (2014-01-17 12:17) [74]> [70] Novicer (17.01.14 10:45)
> И запрос и строки таблицы тип String
В запросе COUNT, а это Integer.
← →
Novicer (2014-01-17 12:23) [75]Запрос ввожу в эдит, имел ввиду поисковый запрос, а не sql. По простому: я ищу, а программа говорит есть или нет :) без отображения результата поиска в гриде, как-то так... ;)
← →
Inovet © (2014-01-17 12:35) [76]> [75] Novicer (17.01.14 12:23)
Ты спросил, я ответил
> [67] Inovet © (17.01.14 09:32)
> > [64] Novicer (16.01.14 23:43)
> > хочу просто знать есть нужное в таблице или нет?
>
> SELECT COUNT(*) WHERE
> отделным запросом и провереить сколько там вернулось.
Дальнейшие ответы уже исходя из этого, а ты о другом
← →
Novicer (2014-01-17 12:38) [77]Каунт считает кол.строк в таблице я так понимаю. Их всегда больше ноля у меня :) интересует конкретно наличие искомой записи...
← →
asail © (2014-01-17 12:54) [78]
> Novicer (17.01.14 12:38) [77]
> Каунт считает кол.строк в таблице я так понимаю. Их всегда
> больше ноля у меня :) интересует конкретно наличие искомой
> записи...
А ты в WHERE чаго написал?
← →
Novicer (2014-01-17 12:55) [79]>asail COL1
← →
Novicer (2014-01-17 12:58) [80]Хочу добавить в ComboBox все записи из таблицы исключая дублирование. Нужно делать sql-запрос или как-то можно пересмотреть все записи?
Страницы: 1 2 3 вся ветка
Текущий архив: 2014.08.17;
Скачать: CL | DM;
Память: 0.61 MB
Время: 0.004 c