Форум: "Базы";
Текущий архив: 2003.11.17;
Скачать: [xml.tar.bz2];
ВнизПервые шаги при создании клиент-серверного приложения Найти похожие ветки
← →
Чайник (2003-10-29 12:52) [0]После соединения с БД как передать параметры соединения дальше в проект? Почему если размещаешь на форме объект Query то снова появляется диалог для присоединения к БД, Как от него избавиться?
← →
Reindeer Moss Eater (2003-10-29 12:54) [1]Используй TDatabase.
Иначе будут открываться столько коннектов к серверу, сколько датасетов используется
← →
Vlad (2003-10-29 12:55) [2]Создаешь один объект TDataBase, к которому подключаешь множество TQuery. При этом у TDataBase в параметрах пропиши логин и пароль, а затем поставь LoginPrompt=false;
← →
Чайник (2003-10-29 13:12) [3]Это уже все сделано. После ввода имени и пароля при удачном соединении загружается следующая форма проекта, где подключаются запросы. Как передать в эту форму это успешное соединение
← →
Vlad (2003-10-29 13:15) [4]Зачем передавать ?
в uses модуль с DataBase добавить - никак ?
← →
чайник (2003-10-29 13:25) [5]если бы знать как это оформляется, я начал писать в понедельник и пока только учусь...
← →
Anatoly Podgoretsky (2003-10-29 13:35) [6]Именно так, решил дайка я попрограммирую в Дельфи, сел и начал сраз писать, и сразу клиент-сервер.
← →
чайник (2003-10-29 13:37) [7]для учебы чем сложнее тем лучше, испытано на себе...Совет пожалуйста...благодарю
← →
DenK_vrtz (2003-10-29 13:37) [8]Кстати, Vlad © (29.10.03 13:15) [4], можно и не подключать в uses имя модуля с DataBase-компонентом. Все равно он будет виден у query в списке свойства DatabaseName.
Чайник, а книги потом читать будем или ну их?
← →
Vlad (2003-10-29 13:40) [9]Допустим DataBase у тебя находится в модуле Unit1, а Query находится в модуле Unit2.
Тогда в модуле Unit2 пропиши:
implementation
uses Unit1
После чего в твоем Query в свойстве DataBase укажи оную (она будет в выпадающем списке)
P.S. Ты бы книжки хоть почитал чтоли...
>DenK_vrtz © (29.10.03 13:37) [8]
Разве ? Каким образом ?
← →
DenK_vrtz (2003-10-29 13:41) [10]Vlad ©, а ты попробуй! :)
← →
stud (2003-10-29 13:44) [11]
> DenK_vrtz © (29.10.03 13:41) [10]
а если надо например в unit2 нужно вызвать database.starttrnsaction?)) лучше подключить.
← →
Vlad (2003-10-29 13:44) [12]>DenK_vrtz © (29.10.03 13:41) [10]
Пробую. Не видно :(
← →
чайник (2003-10-29 13:44) [13]книжки то читаем, а по полочкам еще не разложилось.Создал форму для ввода пароля. На MSSQL создал базу, заграничил права доступа. Когда помещаю Query в списке свойств имя базы отображается, его и выбираю, заполняю SQL и активизирую и вот тут -то снова и появляется это надоедливое окошечко. Хотя Database.connected=true, вот в чем проблема. А программа сама небольшая так баловство, но нужно на ней учиться технологии клиент -сервер.
← →
DenK_vrtz (2003-10-29 13:50) [14]stud ©, естесственно лучше подключить! :)
Vlad ©, серьезно не видит?! Не может быть!!! Он его не только видит, но при Active=true у Query, у Database свойство Connected автоматом становится = true
← →
stud (2003-10-29 13:51) [15]он видит не database а его алиас
← →
чайник (2003-10-29 13:55) [16]спасибо, это все получилось.Второй вопрос: описываю переменную public, в которую заносится в первой форме имя пользователя, а дальше в другой форме она почему-то пустая..
← →
Anatoly Podgoretsky (2003-10-29 14:03) [17]В другой форме она другая
← →
чайник (2003-10-29 14:06) [18]а что значения нельзя в нее передать, как это делается например в Foxpro. В главном модуле описывается переменная, которая меняет свое значение и передается дальше в процедуры так как надо, здесь этот механизм тоже должен быть, как его реализовать, пожалуйста, благодарю...
← →
mOOx_ (2003-10-29 14:07) [19]А ты вообще в курсе, что public - это зарезервированное слово в делфе?!! Лучше для твоего же здоровья переменные так не обзывать :)
← →
чайник (2003-10-29 14:15) [20]я имею ввиду тип переменной глобальная, описывается она в теле проекта модуля.Тогда этот вопрос задам по другому - как передать значения параметра из одной формы в другую?Спасибо.
← →
Vlad (2003-10-29 14:23) [21]>DenK_vrtz © (29.10.03 13:50) [14]
Я понял о чем речь. Ты имеешь ввиду, то что виден список BDE-шных алиасов. Это да. Но сам компонент, TDataBase, расположенный на другой форме он не видит.
← →
mOOx_ (2003-10-29 14:24) [22]Если у тебя объявление такое:
TForm1 = class(TForm)
....
public
Param: Variant;
end;
То тогда обращение к этой переменной просто
Form1.Param
← →
Anatoly Podgoretsky (2003-10-29 14:25) [23]чайник (29.10.03 14:06) [18]
Все можно, только надо явно указывать какую хочешь, только никак не могу связать public c переменными, это относится к классам.
← →
Anatoly Podgoretsky (2003-10-29 14:26) [24]mOOx_ © (29.10.03 14:24) [22]
Это не переменная, а поле класса, он же спрашивает про переменную, но почему то использует слово public
← →
чайник (2003-10-29 14:34) [25]делаю так
TForm1 = class(TForm)
....
public
usrname: string;
end;
затем вызываю в другой форме как
per:=form1.usrname;
ругается, что form1 необъявленная переменная.
вот..
← →
Vlad (2003-10-29 14:38) [26]
> чайник (29.10.03 14:34) [25]
нда....
ты про uses так ничего и не понял.
← →
mOOx_ (2003-10-29 14:38) [27]*?*"%(:%:"*;):"№(*?:.
Это все, что я могу сказать :).
Подключи модуль, в котором объявлен TForm1.
2 Anatoly Podgoretsky © (29.10.03 14:26) [24]:
Это я все знаю, тут нового ничего нет, но чайникам так понятнее.
← →
чайник (2003-10-29 14:47) [28]спасибо всем за участие и помощь!
← →
Vlad (2003-10-29 14:49) [29]
> чайник (29.10.03 14:47) [28]
> спасибо всем за участие и помощь!
Пивка бы хоть поставил... :)
← →
Anatoly Podgoretsky (2003-10-29 14:52) [30]чайник (29.10.03 14:34) [25]
form1 надо обхявить в том же модуле или сделать известным через USES
← →
bushmen (2003-10-29 14:54) [31]>чайник
Теперь тебя можно перевести в кофейники :)
← →
Vlad (2003-10-29 14:55) [32]>bushmen © (29.10.03 14:54) [31]
Нет, в кофейники еще рано.
Будет чайником Tefal Gold
← →
DenK_vrtz (2003-10-29 14:56) [33]Vlad ©, извини брат, не так обяснил :)
← →
чайник (2003-10-29 15:02) [34]я бы рад поставить...Представьте себе огромную бочару, глядишь с вашей помощью стану профи. Очередной вопрос: Загружается главное меню, как сделать доступным и недоступным пункты в зависимости от имени пользователя. Те пункты, которые можно всем объявлены в свойстве enabled=true, остальные для них false. администратору нужно открыть все. Делаю типа menu1.item[1].enabled=true, но что-то не становятся доступным. А вообще как лучше прописывать пользователей, создать таблицу на сервере с именами или еще есть какой способ? Благодарю
← →
DenK_vrtz (2003-10-29 15:05) [35]Про что хоть систему пишем? :)
← →
mOOx_ (2003-10-29 15:09) [36]А мне так кажется, что одна и та же апликуха для пользователя и админитсритора - это совсем как-то хренова :). Пиши разные, глядишь и без енаблитов обойдешься.
← →
Vlad (2003-10-29 15:12) [37]
> чайник (29.10.03 15:02) [34]
Я бы сделал ActionList со списком всех функций. Изначально все они Enabled=false. Когда происходит инициализация пользователя, пробегаешь по этому списку и открываешь доступные ему функции.
← →
Val (2003-10-29 15:13) [38]>Anatoly Podgoretsky © (29.10.03 14:26) [24]
синтаксис Foxa:
чайник (29.10.03 14:06) [18]
← →
чайник (2003-10-29 15:26) [39]система будет обрабатывать выдачу кредитов клиентам, пользователей всего пять человек, один все вносит, другие только смотрят.Вообще -то это идея разделить на два модуля...Еще один вопрос:-в первой форме модуля запрашиваю пароль и пользователя.В TDatabase loginprompt=false, в событии ONlogin этого компонента записываю код для занесения имени пользователя и пароля.
procedure Tparol.Dat1Login(Database: TDatabase; LoginParams: TStrings);
begin
usrname:=parol.Edit1.text;
usrpwd:=parol.edit2.text;
Loginparams.add("User Name="+usrname);
Loginparams.add("password="+usrpwd);
end;
Нужно ли в свойство params компонента Tdatabase заносить первоначальные данные в User name и password?
Я затем делаю так, что по кнопочке OK загружаю дальше другие формы, а если пароль или пользователь неверен не могу отловить и обойти этот момент.извините, если вопрос совсем уже тупой..Как это оформить кодом.Спасибо.
← →
bushmen (2003-10-29 16:16) [40]А где у тебя открывается соединение Database ?
try
Database1.connected:= true;
except
//тут обрабатываешь ошибку
end;
Страницы: 1 2 вся ветка
Форум: "Базы";
Текущий архив: 2003.11.17;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.01 c