Вопрос № 92780: Здравствуйте уважаемые эксперты! У меня такой вопрос: как можно создать сетевую базу данных, т.е. чтобы несколько пользователей вводили в одну и туже БД свои данные. Заранее, всем спасибо....Вопрос № 92817: Здравствуйте уважаемые эксперты. Как сделать цвет StaticText, ChekBox прозрачным. Т. е. нужно, что бы было видно только текст без фона....
Вопрос № 92.780
Здравствуйте уважаемые эксперты! У меня такой вопрос: как можно создать сетевую базу данных, т.е. чтобы несколько пользователей вводили в одну и туже БД свои данные. Заранее, всем спасибо.
Отвечает: Архангельский Андрей Германович
Здравствуйте, Киселев Сергей Николаевич!
Используйте FireBird - бесплатная СУБД, может работать как локально, так и в сети, так и по интернету, 100 пользователей одновременно не предел. Для подключения можно использовать штатные компоненты IBX (вкладка Interbase), хотя для комфортной работы можно выбрать что-нибудь более профессиональное, например компоненты IBObjects.
--------- Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Отвечает: Sandy
Здравствуйте, Киселев Сергей Николаевич!
Несовсем понятен вопрос.
Несколько человек может использовать по сети практически любую базу данных. В базах на подобии FoxPro могут быть тонкости с блокировками таблиц, но это уже рабочие моменты разработки приложения. Если базы вроде фокса (dbf) или аксеса (mdb) Вам следует расположить её на доступном клиентам сетевом ресурсе, к которому настроены корректные права доступа. Если это интербэйс/файрбёд (gdb/fdb) то на машине, которую могут видеть и пинговать клиенты, должен быть установлен соответствующий сервер базы данных, при этом
к файлу базы доступ открывать не следует.
Если это не то что Вы спрашивали - извините. Удачи.
Ответ отправил: Sandy (статус: 5-ый класс)
Ответ отправлен: 25.06.2007, 09:38
Отвечает: Кэр Лаэда
Здравствуйте, Киселев Сергей Николаевич!
Для этого нужно использовать сетевые базы данных
такие как InterBase, Oracle, Informix, Sybase, MSSQL- и еще много других, это сетевые базы данных которые предназначены для того чтобы ими одновременно пользовались множество пользователей
--------- Я знаю что ничего не знаю, но я знаю больше, чем тот кто думает что знает все
Ответ отправил: Кэр Лаэда (статус: Студент)
Ответ отправлен: 25.06.2007, 09:55
Отвечает: Виктор Пырлик
Здравствуйте, Киселев Сергей Николаевич!
Вариантов много, начиная от BDE и использование локальных таблиц, до использования СУБД по технологии «клиент-сервер», например MS SQL, Firebird/Intebase, Oracle и т.д. в том числе и MS Access.
Технология работы через BDE с локальными таблицами-файлами устарела и не удовлетворяет многим требованиям. Следовательно, выбор ложится на «клиент-серверные» СУБД. Наиболее «продвинутым» является в этом плане MS SQL, как в части удобства разработки, масштабируемости, так и интеграции с ОС MS Windows. Для использования можно использовать «бесплатную» версию MS SQL - MSDE (Microsoft SQL Server Desktop Engine). А разработку самой базы вести в MS Access, как графическом инструменте управления БД.
1. Создаём новый проект в MS Access (не базу а проект с «новыми данными»)
2. Конструируем базу по нашим требованиям
3. В Delphi используем компоненты со страницы ADO
3.1 ADOConnection – доступ к серверу .
3.2 Таблицы (TADOTable) и другие компаненты доступа к данным
3.3 Компаненты связи данных DataSource
3.4 Компоненты отображения данных – TDBGrid, TDBEdit и т.д.
4. Для удобства, можно создать файл udl – просто создаём текстовый файл, меняем у него расширение на udl. Открываем его и настраиваем соединение.
5. В приложении, у компонента ADOConnection, в свойстве ConnectionString просто прописываем относительный путь формата: FILE NAME= ..BCDEMOS.udl например.
6. Проверяем – свойство Connected = true, если не работает, проверяем путь и запущен ли сервер SQL
7. Делаем приложение.
8. Для работы надо будет распространять только исполняемый файл (exe) и этот файл udl – который должен лежать в каталоге программы. При этом, желательно сразу настроить сетевой путь к БД (серверу) – просто имя или IP машины на которой установлен сервер.
9. Всё, в простейшем случае, могут с одними и теми же данными работать множество клиентов, и их доступ ограничивается только организацией сети, в плоть до работы м/у разными странами.
Более «родным» для Borland является использование СУБД Interbase – или, бесплатную, и более выгодную версию Firebird (сегодня это версия 2 и выше)
Графических инструментов для работы с Firebird/Interbase в поставке этих серверов нет, но есть отличные бесплатные для Российского разработчика программа – IbExpert.
1. Устанавливаем Firebird и запускаем его (лучше, если он встанет как сервис)
2. Устанавливаем IbExpert – программа локализованная, поэтому как подключится разобраться не сложно: пользователь SYSDBA пароль masterkey. В ней строим свою базу данных.
3. В Delphi, в нашем проекте работаем со страницей компонентов Interbase
3.1 IBDatabase1, IBTransaction1, и таблицы, процедуры, запросы – по выбору.
3.2 Компоненты связи с данными DataSource
3.3 Компоненты отображения данных всё как было сказано выше.
4. IBDatabase1 – правой кнопкой делаем настройки, лучше сразу выбрать Connection – remove, протокол TCP, сервер - IP или имя машины на которой установлен сервер, DataBase – путь к каталогу на машине сервера (с:asa est.gdb) например. Login Promt = false.
5. Делаем проверку, если все нормально, мы готовы к работе.
6. Делаем наше приложение
7. Распространяем исполняемый файл среди пользователей, всё. Да, иногда может понадобится библиотека доступа GDS32.DLL – находится в Windows каталоге машины, на которой установлен SQL сервер. Можно просто эту библиотеку положить в каталог с исполняемым файлом.
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: 4-ый класс)
Ответ отправлен: 25.06.2007, 11:33
Отвечает: lupus campestris
Здравствуйте, Киселев Сергей Николаевич!
Посмотрите http://www.postgresql.org и http://mysql.org.
Удачи!
--------- «С кем тяжело молчать, с тем не о чем говорить» (Метерлинк)
Ответ отправила: lupus campestris (статус: Профессор) Россия, Москва Тел.: +79060429689 Организация: http://www.orange-business.ru WWW:http://lupus-campestris.blogspot.com/ ICQ: 193918889 ---- Ответ отправлен: 26.06.2007, 18:47
Вопрос № 92.817
Здравствуйте уважаемые эксперты. Как сделать цвет StaticText, ChekBox прозрачным. Т. е. нужно, что бы было видно только текст без фона.
Отвечает: W@NDeReR
Здравствуйте, Левадный Тимур Русланович!
Сделайте цвет фона свойство Color у CheckBox'а или StaticText'a таким же как у формы
--------- Опыт — дитя мысли, а мысль — дитя действия. Нельзя учиться по книгам.
Ответ отправил: W@NDeReR (статус: 4-ый класс)
Ответ отправлен: 25.06.2007, 13:39 Оценка за ответ: 3 Комментарий оценки: StaticText, ChekBox не повех формы, а поверх еще одного объекта который закрашен гралиентом. Прозрачность нужна чтобы StaticText, ChekBox не выделялись.
Отвечает: Виктор Пырлик
Здравствуйте, Левадный Тимур Русланович!
выставить свойство ParenColor = true
-- В этом случае, цвет будет как у родительского компонента (по аналогии, можно установить для всех родителей, а цвет формы задать какой требуется)
для StaticText свойство trancporent = true
-- В этом случае, будет только текст виден.
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: 4-ый класс)
Ответ отправлен: 25.06.2007, 14:29 Оценка за ответ: 4 Комментарий оценки: То что мне нужно! ... Действительно не работает :(
Отвечает: Sandy
Здравствуйте, Левадный Тимур Русланович!
В дополнение к предыдущим ответам добавлю что для StaticText есть св-во Transparent, но оно почемуто не работает, хотя в TLabel честно отрабатывает прозрачность. Вероятно баг.
Ответ отправил: Sandy (статус: 5-ый класс)
Ответ отправлен: 25.06.2007, 15:05 Оценка за ответ: 5 Комментарий оценки: Действительно не работает :(