Avatar billede bergstein Nybegynder
21. marts 2010 - 17:14 Der er 2 løsninger

Clientdataset og OnPostError

Jeg bruger et clientdataset og vil gerne fange fejl som "violation key" eller "field must have a value" og vise mine egen danske fejlbeskeder i stedet for Delphis indbyggede.

Dertil har jeg udset clientdataset'ets OnPostError event som det oplagte valg. (ret mig gerne hvis jeg tager fejl).

Jeg har dog ikke fundet ud af, hvordan den bruges. Min hjælp i Delphi virker ikke, skal reinstalleres, og online har jeg intet fundet.

Er der en, der kender eventen og har et forslag.
Avatar billede stone Forsker
21. marts 2010 - 17:40 #1
procedure TVinForm.Table1BeforePost(DataSet: TDataSet);
begin
if
Antal.Field.Value = 0 then
showmessagepos('Værdien i antal skal være større end 0',500,500);
if
Antal.Field.Value = 0 then
Datasetcancel1.Execute;
end;
Avatar billede skindbeni Nybegynder
21. marts 2010 - 18:08 #2
Du kan i eventen prøve flg. to kodestykker som inspiration. Måske kan de laves i en variant, der kan bruges hos dig.


  if E.Message = 'Key violation.' then
    begin
    Showmessage('Fejl: '+ e.Message);
    abort;
    end;

  If E.Classname = 'EDatabaseError' then
    begin
    ShowMessage('Fejl: '+e.classname);
    abort
    end;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester