транзакция

Тема в разделе "Delphi - Базы данных", создана пользователем doom, 3 фев 2007.

Статус темы:
Закрыта.
  1. doom

    doom Гость

    Репутация:
    0
    Привет, всем!!

    у меня приложение на delphi база-oracle.
    У меня многопользовательское приложение.
    Если один пользователь выбирает определенные данные, они заносятся в другую таблицу БД, другой пользователь так же выдирает свои данные из БД, которые также записываются в ту же таблицу.
    Вопрос: можно ли сделать так чтоб пользователи не видели данных друг друга. Таблица, в которую пишутся данные подключена к dbgridу.
    Использовала транзакцию, не получилось :) Помогите пожалуйста! вот код:
    Код (Text):
    if ADOConnection1.InTransaction Then
    Exit;

    if ADOQuery4.Active then
    ADOQuery4.Close;

    ADOConnection1.BeginTrans;

    with ADOQuery4 do
    begin

    SQL.Clear;
    SQL.Add('INSERT INTO ibank2.megasoft2');
    SQL.Add('(clienti_id, name_cln,opera_id)');
    SQL.Add('VALUES(');
    SQL.Add(#39+ADOQuery3.FieldByName('client_id').AsString+#39+','+#39+ADOQuery3.FieldByName('name_cln').AsString+#39+', '+#39+ADOQuery3.FieldByName('operator_id').AsString+#39')');
    //SQL.Add('where ibank2.operators.operator_id= :t ');
    //ADOQuery4.Parameters.FindParam('t').Value:=label4.Caption;
    try
    ExecSQL;
    ADOConnection1.CommitTrans;
    except
    ADOConnection1.RollbackTrans;

    end;
     
  2. Shtirlitz

    Shtirlitz Гость

    Репутация:
    0
    Теоретически, у каждого пользователя должен быть свой коннект(сессия) и он может видеть данные из таблиц со времени последнего коммита.Если пользователь поддверждает сохранение данных, то это делается при помощи post, а не commit. в этом случае видеть результат сохранения сможет только он, а окончательно сохранить можно с commit.Я не спец в Дельфи, но в Оракуле именно так работаю.
     
  3. DZX

    DZX Гость

    Репутация:
    0
    Вариант: Ввести дополнительное поле с кодом пользователя и не увидят они данные друг друга.
     
  4. European

    Репутация:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    2.566
    Симпатии:
    2
    <!--QuoteBegin-DZX+7:02:2007, 12:17 -->
    <span class="vbquote">(DZX @ 7:02:2007, 12:17 )</span><!--QuoteEBegin-->Вариант: Ввести дополнительное поле с кодом пользователя и не увидят они данные друг друга.
    [snapback]55276" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Когда-то именно так и делал, в качестве дополнительного поля использовал GUID юзера
     
Загрузка...
Похожие Темы - транзакция
  1. Medevic
    Ответов:
    6
    Просмотров:
    3.966
Статус темы:
Закрыта.

Поделиться этой страницей