MySQL i SHOW PROCESSLIST

0

wszyscy wiedzą co zwraca SHOW PROCESSLIST

ze zwracanej listy mnie jest jednak potrzebna linia dotycząca tylko tego kompa z jakiego
wpisuje to polecenie

jak to uzyskać?

0

chcę ustalić pozycje aktualnego operatora na liscie SHOW PROCESSLIST
jest to odwieczny problem w MySQL

pracuje na wersji MySQL 4.0.23

Ciągle w moim programie istnieje kłopot z logowaniem tego samego użytkownika
i nie wiem jak go rozwiązać?

1)Program w Delphi loguje sie do bazy automatycznie....

  1. W bazie mam tabele: Operator,Hasło,Status

  2. Sprawdzam czy Operator i Hasło są prawidłowe jeśli tak sprawdzam czy
    Status = 0 co oznacza ,ze można dalej wykonywać program.
    W przypadku kiedy Status =1 to podaje komunikat ,że taki sam użytkownik jest
    już zalogowany na innej stacji.

Oczywiscie po prawidłowym zalogowaniu ustawiam zawsze pole Status na 1 aby
zasygnalizować ,ze ten użytkownik jest już zalogowany
Kiedy zamykany jest program przywracam polu Status wartość 0.

Problemem jest układ kiedy zamiast zamknięcia programu operator wyciągnie
wtyczke zasilania wtedy w polu Status pozostaje już wartość 1 i nie da sie
ponownie zalogowac...

Jak rozwiązać taki problem?

0

zamiast 0/1 wstawiaj tam np. co 5 minut datę i godzinę. Następnie sprawdzaj czy wstawiona data/godzina jest > bieżącej - 5 min - jeśli tak zalogowany jeśli nie nie zalogowany. Dodatkowo aby uniknąć błędów możesz aktualizować co np. 4 minuty a sprawdzać data - 5 min

1 użytkowników online, w tym zalogowanych: 0, gości: 1