Błąd podczas operacji na bazie z formularza potomnego

Błąd podczas operacji na bazie z formularza potomnego

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

JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
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

flowCRANE
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Tuchów
  • Postów: 12269
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.

JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
0

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

flowCRANE
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Tuchów
  • Postów: 12269
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).

JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
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

flowCRANE
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Tuchów
  • Postów: 12269
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.

JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
0

jest tylko potrzebne do wyświetlenia danych dla operatora

flowCRANE
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Tuchów
  • Postów: 12269
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?

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Gorlice
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:

Kopiuj
  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.

JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
0

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

niestety w editach nic sie nie pokazuje ?

flowCRANE
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Tuchów
  • Postów: 12269
0

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

GS
  • Rejestracja: dni
  • Ostatnio: dni
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.