Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Авторизация
|
|||
|---|---|---|---|
|
#18+
Подскажите, плиз !!! Пользователь вводит имя и пароль, идет запрос к таблице и считывается ID пользователя. Как сохранить это ID в глобальной переменной, чтобы переодически обращаться к ней (суть в том, что пользователь должен видеть только свои данные) ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 15:38 |
|
||
|
Авторизация
|
|||
|---|---|---|---|
|
#18+
Сохранить где? Если в Delphi, то я бы сделал глобальную переменную в MainForm или в TApplication.Tag записал бы. Если на уровне БД, то это зависит от того, что за СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 15:52 |
|
||
|
Авторизация
|
|||
|---|---|---|---|
|
#18+
В Delphi... А как эту ID, вытащенную SQL-запросом, записать в переменную ??? Сорри, просто я начинающий дельфист :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 15:55 |
|
||
|
Авторизация
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 15:59 |
|
||
|
Авторизация
|
|||
|---|---|---|---|
|
#18+
А глобальную переменную как можно потом использовать в компонентах для других запросов ??? Application.Tag := AdoDataSet1.Fields(0).AsInteger; AdoDataSet1.CommandText := 'select * from client where employee_id = ' + Application.Tag ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 16:11 |
|
||
|
Авторизация
|
|||
|---|---|---|---|
|
#18+
Совершенно верно. Успехов :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 16:18 |
|
||
|
Авторизация
|
|||
|---|---|---|---|
|
#18+
Благодарю за помощь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 16:24 |
|
||
|
Авторизация
|
|||
|---|---|---|---|
|
#18+
Я обычно завожу в проекте отдельный DataModule, где лежат все данные, а также объявлены общие переменные. Далее всем модулям, которые с данными работают, в строке uses прописывается название этого общего модуля данных. Общие переменные объявляются после interface в разделе var до слова implementation точно также, как и все остальные переменные. После этого к ним можно обращаться отовсюду, где в uses прописана ссылка на модуль данных. Что-то типа: =========== unit ABC; interface uses a,b,c...; type .... var a:integer; b:string; c:double; ... implementation ... =============== Далее, после выполнения запроса просто присваиваете соответсвующей переменной значение поля из запроса. Я обычно обращаюсь к полям через FieldByName('name'), либо создаю соответсвующие поля в датамодуле для DataSet'ов (двойной клик на DataSet'е, правой клавишей мыши вызываем PopupMenu и там выбираем Add fields... либо Add all fields). получится что-то вроде a:=DataSet1.FieldByName('NameID').AsInteger; в случае с созданием полей компонент получает имя, составленное из имени DataSet'а и названия поля, в результате получаем: a:=DataSet1NameID.AsInteger; Кстати, в вашем примере более правильно написать AdoDataSet1.CommandText := 'select * from client where employee_id = ' + IntToStr(Application.Tag) А если брать мой пример, то пролучится: AdoDataSet1.CommandText := 'select * from client where employee_id = ' + IntToStr(a) Вообще, предпочтительнее завести переменную и дать ей более-менее осмысленное имя, чем пользоваться Application.Tag. Опять же, через какое-то время захочется ещё что-нибудь сохарнить, а Application.Tag только один... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 16:37 |
|
||
|
Авторизация
|
|||
|---|---|---|---|
|
#18+
2 Дмитрий Мыльников Уважаю такой обстоятельный стиль повествования. :)) Я для хранения настроек и прочих глобальных переменных предпочитаю использовать singleton-класс Config. Мне кажется, что его преймущество в том, что не надо делать uses модуля, который в принципе не нужен, только ради общих переменных. > Опять же, через какое-то время захочется ещё что-нибудь сохранить, а Application.Tag только один... :) Это точно :)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 16:44 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2117766]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
16ms |
get topic data: |
6ms |
get first new msg: |
3ms |
get forum data: |
1ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 319ms |

| 0 / 0 |
