Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2007, 15:04   #1
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию Многопользовательская БД

Имеется БД Acess + ADO. Сейчас она однопользоваетльская. Нужно сделать из нее многопользовательскую версию. Вопрос как. Допустим я буду блокировать редактиющиеся записи и после каждого действия буду делать .refresh всех таблиц. Достаточно ли этого будет?
delphi is my world
XPAiN вне форума Ответить с цитированием
Старый 24.12.2007, 15:20   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
я буду блокировать
Механизм блокировок встроен в любую многопользовательскую СУБД.
Сами вы ничего, кроме вреда, своими "блокировками", не достигнете...
mihali4 вне форума Ответить с цитированием
Старый 25.12.2007, 08:00   #3
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию

Нужно ли для многопользовательского режима как-то настраивать специально Connection или какие-либо компоненты?
delphi is my world
XPAiN вне форума Ответить с цитированием
Старый 25.12.2007, 10:40   #4
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

XPAiN, Я вот Вам честно скажу: больше чем из половины Вами написанного я не могу понять. Постарайтесь более конкретно изложить свою суть. Ну вот кпримеру:
Цитата:
Допустим я буду блокировать редактиющиеся записи и после каждого действия буду делать .refresh всех таблиц.
Как это вяжется с :
Цитата:
Нужно сделать из нее многопользовательскую версию. Вопрос как.
?
1. Зачем после каждого, и главное, какого действия, Вы будете делать .refresh?
2. Может я чего-то недопонимаю, но объясните, причем тут блокирования записей и многопользовательская версия.?
3. Что значит многопользовательская версия?
фЁдОр вне форума Ответить с цитированием
Старый 25.12.2007, 11:08   #5
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию

1. Вернее перед каждым действием .refresh всех табилиц для обновления в них данных, т.к. они могли обновиться
2. Блокировка записей нужна для того чтобы разные польватели не редактировали одну запись
3. Это значит, что с одной базой работают 3-4 человека. Т.е. добавляют/удаляют/редактируют записи
delphi is my world
XPAiN вне форума Ответить с цитированием
Старый 25.12.2007, 11:34   #6
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

Ну вот, теперь картинка прояснилась. По поводу рефрешь - у Вас получалось обновить таблицу след. образом: закрываете ее->обновляете ее->открываете ее?
А с блокировкой т.е. Вы хотите что бы одновременно пользователи не могли редактировать одну запись или запись могли редактировать только конкретные пользователи?
фЁдОр вне форума Ответить с цитированием
Старый 25.12.2007, 11:45   #7
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию

Я делаю так: Запоминаю текущую позицию главной записи и переоткрываю все таблицы и ставлю курсор на запомненую позицию.
Про блокировку - Да. т.е. я написал сам проверку на редактирование небольшую.
Но вопрос не в этом. Ничего больше не нужно нигде настраивать? Т.е. этого хватит чтобы бд функционировала для всех пользователей нормально?
delphi is my world
XPAiN вне форума Ответить с цитированием
Старый 25.12.2007, 12:09   #8
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

а как Вы запоминаете текущию позицию и что значит главная запись? Вроде начинали об одном, а сейчас о другом речь пошла.
фЁдОр вне форума Ответить с цитированием
Старый 25.12.2007, 12:18   #9
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию

Конечно не о том вопрос. Но вот код:

Цитата:
var id:integer;
begin
id:=DataModule1.Table1.FieldByName( 'id').asinteger;
Table1.close;
Table1.open;
Table1.Locate('id',id,[]);
end;
Вопрос в том достаточно ли этих 2 состотавляющих для организации многопользовательской БД? (Блокировка и обновление таблиц)
delphi is my world

Последний раз редактировалось XPAiN; 25.12.2007 в 13:13.
XPAiN вне форума Ответить с цитированием
Старый 25.12.2007, 12:46   #10
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

теперь вы вообще поиск написали, и интересный он у Вас-он работает? Смысл в Вашем закрытии и сразуже в открытии таблицы?
Цитата:
Вопрос в том достаточно ли этих 2 состотавляющих для организации многопользовательской БД? (Блокировка и обновление таблиц)
Что за две составляющие?
З.Ы. Оформляйте код, иначе модераторы Вас наказывать пока врятли будут, но замечание сделают.

Последний раз редактировалось фЁдОр; 25.12.2007 в 12:49.
фЁдОр вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц