Wątek przeniesiony 2016-12-21 21:44 z Kosz przez furious programming.

Błąd podczas operacji na bazie z formularza potomnego

0

z formy31 po nacisnieciu buttona uruchamia sie forma311 (https://4programmers.net/Pastebin/6174) i po wykonaniu dodania reekordu i zapisania w nim danych, forma sie nie zamyka tylko wyskakuje błąd (załacznik) co sugeruje, ze powtórzony jest zapis do zQuery.

Nie bardzo czuję (i nie widzę) gdzie tkwi problem (błąd w stworzonej formie)

z poważaniem

0

W dalszym ciągu masz ten sam problem - podwójna wartość klucza narusza ograniczenie unikalności

Dlatego też najpierw popraw stary błąd, a jak już operacje na bazie będą działać poprawnie to wtedy będzie można pobawić się tym formularzem i wymyślić sposób na jego automatyczne zamykanie; Choć z tego co widzę, wszystko działa w głównym wątku, więc Close() na końcu na pewno działa prawidłowo;

Poza tym wsadzanie tego kodu do zdarzenia OnActivate jest złym pomysłem.

0

a jak uruchomic program krok, po proku, linijka po linijce

0

Zależy od środowiska - zasadniczo F7/F8, aby uruchomić program i zatrzymać jego wykonanie na pierwszej linijce w głównym pliku projektu; Jak potrzebujesz zatrzymać działanie gdzieś w środku to postaw breakpoint na którejś instrukcji (klawisz F5) i na niej program się zatrzyma;

Śledzenie wykonywania linijka po linijce to wciskanie F7 lub F8 (to pierwsze wchodzi do wnętrza metody, a drugie nie).

0

Przy pierwszym uruchomieniu zapisuje prawidłowo nie ma błędy potem wg. mnie zamiast kończyć to ponownie jokby próbował dopisać dane z niezmienionymi kluczami kod litera i stąd ten bląd

a pana sugestia gdzie to umieścic zamiast OnActive

0

W tamtym wątku odpowiedział Ci @grzegorz_so, więc jeśli o problem z unikalnością klucza chodzi to pisz w tamtym wątku;

a pana sugestia gdzie to umieścic zamiast OnActive

Zależy od przeznaczenia tego okienka - nie wiem czym ono jest.

0

jest tylko potrzebne do wyświetlenia danych dla operatora

0

To jest coś w rodzaju okienka z informacją trwa wprowadzanie danych, proszę czekać...? Czy na tym formularzu znajdują się jakieś pola i przyciski do wykonywania jakichś czynności?

0

Po pierwsze wywal tenn kod z OnActivate jak już koniecznie musi on się wykonywać gdy chcesz pokazać zrób w własna procedurę / funkcje (zadeklaruj w sekcji public) jego pokazania czyli coś w stylu:

  public
    { Public declarations }
    function MyShowForm: Integer;
  end;
//...
function TForm1.MyShowForm: Integer;
begin
  //tu ten kod
  result:= Self.ShowModal;
end;

a jeszcze lepiej to wszystko co tak paskudnie bierzesz z FormX.Cos tam byłoby przekazać jako parametry funkcji.

0

dokładnie, nie ma i nie będzie żadnych, przycisków, stąd konieczność automatycznego zamykania

niestety w editach nic sie nie pokazuje ?

0

W jakich edit? Pisałeś, że nie masz w tym okienku żadnych kontrolek z danymi.

0

Twój problem to baza a nie aplikacja, wstawiasz do bazy wartości "nielegalne" z punktu widzenia ograniczeń bazy

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