Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2014.08.17;
Скачать: [xml.tar.bz2];

Вниз

Как установить Firebird вместе с прогой?   Найти похожие ветки 

 
Novicer   (2014-01-08 13:47) [0]

Здравствуйте  мастера! Подскажите какой инсталятор лучше использовать, чтобы можно установить "по тихому", без лишних телодвиженией юзера огнептиц вместе с прогой? Хотелось бы чтобы сервер стартовал автоматом после установки для возможности запуска проги сразу после инсталяции.


 
Novicer   (2014-01-08 14:38) [1]

Так будет хорошо:Firebird-2.5_Win32.exe /VERYSILENT  ?


 
DVM ©   (2014-01-08 14:55) [2]


> Novicer   (08.01.14 13:47) 

Firebird он OpenSource, у него в репозитории лежит инсталляционный скрипт (по моему InnoSetup), берешь его, правишь, используешь.


 
Sergey Masloff   (2014-01-10 13:03) [3]

А потом окажется что другой такой же кулибин по тихому установил уже ему фиребирда другой версии...

Не создавайте проблем пользователям. А то как аукнется...
;-)

Можно в инсталлятор свойей программы конечно добавить инсталляцию FB но никак не "по-тихому" а с тучей предупреждений


 
Ega23 ©   (2014-01-10 13:11) [4]


> Здравствуйте  мастера! Подскажите какой инсталятор лучше
> использовать, чтобы можно установить "по тихому", без лишних
> телодвиженией юзера огнептиц вместе с прогой? Хотелось бы
> чтобы сервер стартовал автоматом после установки для возможности
> запуска проги сразу после инсталяции.


1. Если это именно сервер, то никаких "silent", за такое тебе отрубят ноги, и правильно сделают.
2. В остальном - у FireBird есть embedded версия. Там ничего устанавливать не надо, просто копирование в директорию с exe.


 
antonn ©   (2014-01-10 15:22) [5]

Если это корпоративный софт - никто "отрывателей ног" спрашивать не будет. например так делает из знакомых мне DVR, устанавливая mysql.
Потому вопросы тихой установки сервера БД - вполне актуален. Другое дело почему автор выбрал его, а не встраиваемую


 
sniknik ©   (2014-01-10 15:40) [6]

> 1. Если это именно сервер, то никаких "silent", за такое тебе отрубят ноги, и правильно сделают.
ха, а меня специально просили сделать режим "silent" сетапу, именно для установки на сервер (как то в консольном режиме ставят, не в чем кнопки подтверждения нажимать).
правда ставят не файбирд, а "мой" сервис-сервер "трехвенки", но все таки.


 
картман ©   (2014-01-10 15:41) [7]

VERYSILENT
возьму на заметку))


 
Ega23 ©   (2014-01-10 16:02) [8]


> Если это корпоративный софт - никто "отрывателей ног" спрашивать
> не будет. например так делает из знакомых мне DVR, устанавливая
> mysql.


Очень много нюансов. Стоит сервер FB 1.5. Я в своём софте использую 2.5 На 1.5 сидят какие-нить базы, которым в случае обновления надо миграцию сделать.
Или, к примеру, занят 3050-й порт.
Понятно, что если это на чистую машину ставить, то можно и скрыто.


 
antonn ©   (2014-01-10 17:27) [9]


> ха, а меня специально просили сделать режим "silent" сетапу,
>  именно для установки на сервер (как то в консольном режиме
> ставят, не в чем кнопки подтверждения нажимать).
> правда ставят не файбирд, а "мой" сервис-сервер "трехвенки",
>  но все таки.

я из-за таких же желаний изменял юнит SvcMgr.pas - выпилил оттуда модальные окошки установки/удаления сервиса :)


 
sniknik ©   (2014-01-10 19:16) [10]

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


 
Novicer   (2014-01-10 22:28) [11]

>antonn Чем лучше Embedded?


 
Ega23 ©   (2014-01-10 22:48) [12]


> Чем лучше Embedded?


Не зависит от всего остального.


 
Novicer   (2014-01-10 23:02) [13]

>Ega23 © Можно подробнее?


 
Novicer   (2014-01-10 23:16) [14]

Embedded работает в сетевом режиме с возможностью доступа к БД с других ПК? Я читал что подключение возможно лишь по локал.протоколу и при подключении пользователя БД блокируется. Прлучается что несколько человек не смогут одновременно работать с базой?


 
DVM ©   (2014-01-10 23:47) [15]


> Прлучается что несколько человек не смогут одновременно
> работать с базой?

Не смогут. Там еще куча других ограничений.


 
DVM ©   (2014-01-10 23:53) [16]


> Novicer   (10.01.14 23:16) [14]

Вот:
http://www.ibase.ru/ibfaq.htm#embedded


 
Novicer   (2014-01-11 00:55) [17]

Тогда выходит embedded локальная БД... А нужна именно сетевая :)


 
Ega23 ©   (2014-01-11 00:59) [18]


> А нужна именно сетевая :)

Тогда вопрос: зачем ставить сетевую вместе с клиентом? Клиент отдельно, сервер отдельно.


 
Inovet ©   (2014-01-11 00:59) [19]

Вчера же вроде об этом говорили?
http://ibase.ru/ibfaq.htm


 
Novicer   (2014-01-11 02:38) [20]

>Ega23 © А как установить только клиент, без сервера?


 
asail ©   (2014-01-11 03:13) [21]


> Novicer   (11.01.14 02:38) [20]
> >Ega23 © А как установить только клиент, без сервера?

Клиент - это просто DLL.
Для Interbase называется gds32.dll, для FB, вроде - fbclient.dll.


 
asail ©   (2014-01-11 03:16) [22]


> Для Interbase называется gds32.dll, для FB, вроде - fbclient.
> dll

Кстати, интербэйсовский gds32.dll вполне может работать с сервером FB. И именно эту dll устанавливает, например, дельфя в качестве клиента.


 
Novicer   (2014-01-11 10:14) [23]

Эту длл будет достаточно включить в дистриб проги, чтобы она смогла потом коннектиться к серверу в сети?


 
Ega23 ©   (2014-01-11 10:25) [24]


> Эту длл будет достаточно включить в дистриб проги, чтобы
> она смогла потом коннектиться к серверу в сети?


Да.


 
Novicer   (2014-01-11 17:34) [25]

Спасибо большое всем за краткие, но полезные ответы! Если можно посоветуйте плиз чего почитать про огнептиц(книги, сайты)? Азы для чайника :)


 
DVM ©   (2014-01-11 17:40) [26]


> Novicer   (11.01.14 17:34) [25]


>  Если можно посоветуйте плиз чего почитать про огнептиц(книги,
>  сайты)?

http://www.cyberforum.ru/firebird/thread810148.html


 
Ega23 ©   (2014-01-11 17:41) [27]

Тебе-ж дали ссылки. Ну и "Мир Interbase" Козявина читай


 
Ega23 ©   (2014-01-11 17:41) [28]

Ковязина, блджад!
Всё время путаю...


 
Novicer   (2014-01-11 18:29) [29]

Спасибо, почитаю...


 
Romkin ©   (2014-01-13 14:37) [30]


> >Ega23 © А как установить только клиент, без сервера?


> Эту длл будет достаточно включить в дистриб проги, чтобы
> она смогла потом коннектиться к серверу в сети?

Нет, не достаточно.
Не надо ничего изобретать. Минимальная клиетская установка:
Firebird-XXX_win32.exe /SILENT /NOICONS /COMPONENTS="ClientComponent"
Остальное есть в скрипте из хранилища и документации.


 
Novicer   (2014-01-14 00:35) [31]

>Romkin Спасибо!


 
asail ©   (2014-01-14 00:42) [32]


> Romkin ©   (13.01.14 14:37) [30]

> Нет, не достаточно.

Почему нет? Для клиента, насколько знаю, более чем...


 
Inovet ©   (2014-01-14 05:15) [33]

> [32] asail ©   (14.01.14 00:42)

Порты ещё прописать надо.


 
asail ©   (2014-01-14 17:26) [34]


> Inovet ©   (14.01.14 05:15) [33]
> > [32] asail ©   (14.01.14 00:42)
>
> Порты ещё прописать надо.

Совсем не обязательно.
3050 - по умолчанию, а так же можно передавать нужный порт в строке коннекта.
Не забываем, что один и тот-же клиент (gds32.dll) может подключаться к разным удаленным серверам, работающим на разных портах. Какой тогда порт прописывать прикажете?


 
Novicer   (2014-01-14 21:33) [35]

Я так понимаю после установки проги и Firebird надо прописать демо-базу на сервере. Как это можно сделать? Достаточно прописать в настройках подключения путь,логин и пароль(на всех ПК в сети)? Доверить юзеру в окошке ввести нужные данные?


 
asail ©   (2014-01-14 23:06) [36]

Какую базу? Какой проги? Телепатор не работает, извини уж...
Все зависит от задачи, компонент для работы с БД и т.д...


 
Novicer   (2014-01-14 23:20) [37]

>asail Демо-база Firebird 2.5программы(пару строк для примера юзеру накидал в IbExperte). Все компоненты с вкладки InterBase Delphi2010.


 
DVM ©   (2014-01-15 00:31) [38]


> Я так понимаю после установки проги и Firebird надо прописать
> демо-базу на сервере.

Какую еще демо базу? После установки сервера базу надо создать, либо с нуля, либо из SQL скрипта. Для создания с нуля удобно пользоваться IBExpert.
Желательно настроить права доступа к базе и поменять пароль пользователя SYSDBA. Желательно задать алиас файлу базы. Как это все делается написано в докумнтации.


> Достаточно прописать в настройках подключения путь,логин
> и пароль(на всех ПК в сети)? Доверить юзеру в окошке ввести
> нужные данные?

Для удаленной базы: сервер, порт, алиас базы, логин, пароль, роль
Для локальной: алиас, логин, пароль, роль


 
Novicer   (2014-01-15 00:42) [39]

Установил на форме следующие компоненты:
TIBDataBase,TIBQuery,TIBTable,TDataSource,TDBGrid,TIBTransaction
Компонент TIBDataBase я связал с TIBTransaction в свойстве DefaultTransaction, компоненты TIBQuery и TIBTable я связал с TIBDataBase в свойстве DataBase, компонент TDataSource я связал с TIBQuery  в свойстве DataSet, а компонент TDataSource я связал TDBGrid в свойстве DataSource.
Хочу просмотреть содержимое всех строк таблицы БД(таблица одна - MAIN_LIST и в ней три строки с данными(внесены в IbExpert). На кнопку "Просмотр" пишу такой код:
   IBQuery1.SQL.Clear;
   IBQuery1.SQL.Add("SELECT * FROM MAIN_LIST");
   IBQuery1.Active:=True;
В результате в DbGride количество строк увеличивается до трех, но все они пустые. К базе конекчусь на OnShow главной формы без ошибок. Пробовал менять кодировку БД, безрезультатно(в таблице текст на рус. и англ. языках).


 
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-запрос или как-то можно пересмотреть все записи?


 
Inovet ©   (2014-01-17 13:41) [81]

> [77] Novicer   (17.01.14 12:38)
> Их всегда больше ноля у меня :)

Ты давай-ка почитай что-ни будь по SQL для начала.
Вот, например
http://azdesign.ru/index.shtml?Support&DataBase&SQL/SQL92/SQL92_toc
Потом документацию по ФБ


 
Romkin ©   (2014-01-17 15:44) [82]


> А они же для сервера нужны, а не для клиента, не?Если честно,
>  то с FB большого опыта нет, мы Интербэйс юзаем...

msg - там сообщения, с сервера идет только код, а форматирует его клиент. Работать будет, просто будет выдавать "cant format message..."
firebird.conf нужен для указания rootdir если записи в реестре нет. Впрочем, пишу по памяти, я исторически просто ставлю клиент инсталлятором, плюс мой инсталлятор еще порты открывает в брандмауэре виндовом. :)
> насколько хорошо работает?а то с fbclient.dll 2.5 → Firebird
> 1.5 проблемы возникают, например.

Никак не работает. Точнее, клиент от IB6.0 будет работать с FB1.0, но нафиг не нать такое. Версия клиента должна точно соответствовать версии сервера, вплоть до билда.


 
Novicer   (2014-01-17 18:22) [83]

В таблице MyTable две колонки: ID и COL1. Хочу выбрать все записи второй колонки(COL1) таблицы  исключив дубликаты и отсортировав полученные данные по алфавиту. Пишу для IBQuery такой запрос:
select distinct COL1 from MyTable order by COL1
получаю ошибку Filed ID not found. Если изменить запрос на такой:
select distinct * from MyTable order by COL1
то прокатывает без ошибок, но выводит дубли :(
Как правильно сформулировать запрос для получения нужного результата?


 
Novicer   (2014-01-17 18:39) [84]

Нашел ошибку, теперь запрос select distinct COL1 from MyTable order by COL1 работает нормально,но если отличается регистр символов всеравно дубли дает. Яблоко и яблоко разные слова :) Вот как бы составить запрос чтобы были одинаковые(независимо от регистра(?


 
Inovet ©   (2014-01-17 18:44) [85]

> [84] Novicer   (17.01.14 18:39)
> Яблоко и яблоко разные слова :)

upper?

ПС. Быстро книжки прочитал. Завидую.


 
Novicer   (2014-01-17 19:24) [86]

Написал так: select distinct COL1 from MyTable where upper(COL1) like ""%"" order by COL1 Не помогло :(


 
Novicer   (2014-01-17 19:46) [87]

А если select distinct COL1 from MyTable where upper(COL1) like upper(""%"") order by COL1 та же петрушка, все-равно дубли дает :(


 
Inovet ©   (2014-01-17 20:01) [88]

> [87] Novicer   (17.01.14 19:46)

Теперь убери where и количество варианов перебора мест вставки upper сократится.


 
Novicer   (2014-01-17 21:06) [89]

Запрос select distinct Upper(COL1) from MyTable order by COL1 возврашает ошибку "неизвестная колонка COL1" :/


 
Inovet ©   (2014-01-17 21:23) [90]

> [89] Novicer   (17.01.14 21:06)

Это в каком месте он возвращает? Неужели прямо в IBExpert?


 
Novicer   (2014-01-17 21:32) [91]

При выполнении проги(запроса): IBQuery1: Field COL1 not found
(D2010, Firebird 2.5, SQL3)


 
Inovet ©   (2014-01-17 21:43) [92]

> [91] Novicer   (17.01.14 21:32)

Намёк про IBExpert не достиг цели.


 
Novicer   (2014-01-17 22:39) [93]

В эксперте надо тестить запросы да? :)


 
Inovet ©   (2014-01-17 23:27) [94]

> [93] Novicer   (17.01.14 22:39)

Учебники надо читать.


 
Inovet ©   (2014-01-17 23:28) [95]

select distinct Upper(COL1)
какое имя поля будет? Хоть бы в билдере делфийском открыл для приличия что ли.


 
Novicer   (2014-01-18 00:31) [96]

Имя поля СОL1,  а Си++ у меня нет, только Дельфи 2010. В таблице только две колонки(поля):ID(primary key) и COL1(перечень данных). Хочу выбрать неповторяющиеся записи без учета регистра, как-то так... :)


 
jumping jack   (2014-01-18 05:38) [97]

> Запрос select distinct Upper(COL1) from MyTable order by COL1 возврашает ошибку "неизвестная колонка COL1" :/

потому, что в выбираемом select-ом наборе такой колонки нет


 
jumping jack   (2014-01-18 05:38) [98]

> Запрос select distinct Upper(COL1) from MyTable order by COL1 возврашает ошибку "неизвестная колонка COL1" :/

потому, что в выбираемом select-ом наборе такой колонки нет


 
Inovet ©   (2014-01-18 09:11) [99]

> [96] Novicer   (18.01.14 00:31)
> Имя поля СОL1

Нет там такого поля, о чём тебе честно написано в сообщении об ошибке.

> [96] Novicer   (18.01.14 00:31)
> а Си++ у меня нет, только Дельфи 2010

Двойной клик на твоём IBQuery1. Сложно? Легче тут выклянчивать, чем читать основы.


 
Novicer   (2014-01-18 12:42) [100]

Добавил поля ID и COL1 в IbQuery1, теперь при выполнении запроса вылетает ошибка "неизвестное поле ID" :( Никак не пойму в чем дело, наверно все-таки неправильный синтаксис запроса: select distinct Upper(COL1) from MyTable order by COL1 


 
ухты   (2014-01-18 12:44) [101]

это все бесполезно


 
Inovet ©   (2014-01-18 12:53) [102]

> [100] Novicer   (18.01.14 12:42)

1. Ты в IBExpert уже посмотрел результат?
2. В книжках прочитал про AS?
3. Ладно, про добавление полей после 1 и 2.


 
Плохиш ©   (2014-01-18 13:38) [103]

Мая уже рыдать...


 
Novicer   (2014-01-18 13:53) [104]

Действительно в синтаксисе, сам нашел исправил, все пашет как надо :) Всем спасибо за помощь и дружескую поддержку!



Страницы: 1 2 3 вся ветка

Форум: "Прочее";
Текущий архив: 2014.08.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.71 MB
Время: 0.007 c
4-1269426968
EgorovAlex
2010-03-24 13:36
2014.08.17
Как реализовать в программе, чтобы каждая вкладка была отдельным


15-1390422605
Юрий
2014-01-23 00:30
2014.08.17
С днем рождения ! 23 января 2014 четверг


15-1390302290
Дмитрий СС
2014-01-21 15:04
2014.08.17
rs232 через сеть


15-1390391993
Novicer
2014-01-22 15:59
2014.08.17
Как узнать дату создания Биоса в Восьмерке?


2-1380204050
Михалыч
2013-09-26 18:00
2014.08.17
Как изменить формат даты Виндовс?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский