/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Fejlmelding ved DsInsert i database
Fra : Kurt


Dato : 21-02-05 16:52

Jeg får en fejlmelding, som jeg ikke forstår årsagen til:
Jeg har en database EjendomsForm.tbEjendom, som jeg gerne vil indsætte en ny
record i.
Koden er således:

1 EjendomsForm.tbEjendom.Open;
2 If not (EjendomsForm.tbEjendom.State in [dsInsert]) then
EjendomsForm.tbEjendom.Insert;
3 EjendomsForm.tbEjendom.FieldByName('Ejerlav').Text := E_LavsNr;
....
....
9 EjendomsForm.tbEjendom.Post;

Men ved hver kørsel af linie 2 får jeg fejlmeldingen:
"Expression expected but nothing found."

Hvad har jeg gjort galt?

Mvh Kurt



 
 
Kurt (21-02-2005)
Kommentar
Fra : Kurt


Dato : 21-02-05 20:08

"Kurt" <kurt_g@guldbaek.net> wrote in message
news:421a039b$0$231$edfadb0f@dread11.news.tele.dk...
> Jeg får en fejlmelding, som jeg ikke forstår årsagen til:
> Jeg har en database EjendomsForm.tbEjendom, som jeg gerne vil indsætte en
ny
> record i.
> Koden er således:
>
> 1 EjendomsForm.tbEjendom.Open;
> 2 If not (EjendomsForm.tbEjendom.State in [dsInsert]) then
> EjendomsForm.tbEjendom.Insert;
> 3 EjendomsForm.tbEjendom.FieldByName('Ejerlav').Text := E_LavsNr;
> ...
> ...
> 9 EjendomsForm.tbEjendom.Post;
>
> Men ved hver kørsel af linie 2 får jeg fejlmeldingen:
> "Expression expected but nothing found."
>
> Hvad har jeg gjort galt?
>
> Mvh Kurt
>
Jeg er kommet frem til, at det må være "EjendomsForm.tbEjendom.Insert", der
nok kræver parametre om hvad der skal indsættes.
Jeg formodede at den satte databasen i Insertmode. Hvad hedder den korrekte
komando dertil?

/Kurt



Harald (21-02-2005)
Kommentar
Fra : Harald


Dato : 21-02-05 21:55

"Kurt" <kurt_g@guldbaek.net> skrev i en meddelelse
news:421a3187$0$215$edfadb0f@dread11.news.tele.dk...
> "Kurt" <kurt_g@guldbaek.net> wrote in message
> news:421a039b$0$231$edfadb0f@dread11.news.tele.dk...
>> Jeg får en fejlmelding, som jeg ikke forstår årsagen til:
>> Jeg har en database EjendomsForm.tbEjendom, som jeg gerne vil indsætte en
> ny
>> record i.
>> Koden er således:
>>
>> 1 EjendomsForm.tbEjendom.Open;
>> 2 If not (EjendomsForm.tbEjendom.State in [dsInsert]) then
>> EjendomsForm.tbEjendom.Insert;
>> 3 EjendomsForm.tbEjendom.FieldByName('Ejerlav').Text := E_LavsNr;
>> ...
>> ...
>> 9 EjendomsForm.tbEjendom.Post;
>>
>> Men ved hver kørsel af linie 2 får jeg fejlmeldingen:
>> "Expression expected but nothing found."
>>
>> Hvad har jeg gjort galt?
>>
>> Mvh Kurt
>>
> Jeg er kommet frem til, at det må være "EjendomsForm.tbEjendom.Insert",
> der
> nok kræver parametre om hvad der skal indsættes.
> Jeg formodede at den satte databasen i Insertmode. Hvad hedder den
> korrekte
> komando dertil?

Insert kræver ingen parametre, hvis du bruger debuggeren kan du se nøjagtig
hvor fejlen kommer.

/HK



Kurt Guldbæk (21-02-2005)
Kommentar
Fra : Kurt Guldbæk


Dato : 21-02-05 22:02

"Harald" <nomail@noname.dk> skrev i en meddelelse
news:421a4a9b$0$33687$edfadb0f@dread16.news.tele.dk...
> "Kurt" <kurt_g@guldbaek.net> skrev i en meddelelse
> news:421a3187$0$215$edfadb0f@dread11.news.tele.dk...
>> "Kurt" <kurt_g@guldbaek.net> wrote in message
>> news:421a039b$0$231$edfadb0f@dread11.news.tele.dk...
>>> Jeg får en fejlmelding, som jeg ikke forstår årsagen til:
>>> Jeg har en database EjendomsForm.tbEjendom, som jeg gerne vil indsætte
>>> en
>> ny
>>> record i.
>>> Koden er således:
>>>
>>> 1 EjendomsForm.tbEjendom.Open;
>>> 2 If not (EjendomsForm.tbEjendom.State in [dsInsert]) then
>>> EjendomsForm.tbEjendom.Insert;
>>> 3 EjendomsForm.tbEjendom.FieldByName('Ejerlav').Text := E_LavsNr;
>>> ...
>>> ...
>>> 9 EjendomsForm.tbEjendom.Post;
>>>
>>> Men ved hver kørsel af linie 2 får jeg fejlmeldingen:
>>> "Expression expected but nothing found."
>>>
>>> Hvad har jeg gjort galt?
>>>
>>> Mvh Kurt
>>>
>> Jeg er kommet frem til, at det må være "EjendomsForm.tbEjendom.Insert",
>> der
>> nok kræver parametre om hvad der skal indsættes.
>> Jeg formodede at den satte databasen i Insertmode. Hvad hedder den
>> korrekte
>> komando dertil?
>
> Insert kræver ingen parametre, hvis du bruger debuggeren kan du se
> nøjagtig hvor fejlen kommer.

Vil det sige, at de viste linjer ikke skulle give den beskrevne fejl?

> /HK

Det er med debuggeren, at jeg har fundet frem til, at det er 2. linje, der
giver fejlen.
/Kurt



Harald (21-02-2005)
Kommentar
Fra : Harald


Dato : 21-02-05 22:07

"Kurt Guldbæk" <kurt_g@guldbaek.net> skrev i en meddelelse
news:421a4c24$0$29276$14726298@news.sunsite.dk...
> "Harald" <nomail@noname.dk> skrev i en meddelelse
> news:421a4a9b$0$33687$edfadb0f@dread16.news.tele.dk...
>> "Kurt" <kurt_g@guldbaek.net> skrev i en meddelelse
>> news:421a3187$0$215$edfadb0f@dread11.news.tele.dk...
>>> "Kurt" <kurt_g@guldbaek.net> wrote in message
>>> news:421a039b$0$231$edfadb0f@dread11.news.tele.dk...
>>>> Jeg får en fejlmelding, som jeg ikke forstår årsagen til:
>>>> Jeg har en database EjendomsForm.tbEjendom, som jeg gerne vil indsætte
>>>> en
>>> ny
>>>> record i.
>>>> Koden er således:
>>>>
>>>> 1 EjendomsForm.tbEjendom.Open;
>>>> 2 If not (EjendomsForm.tbEjendom.State in [dsInsert]) then
>>>> EjendomsForm.tbEjendom.Insert;
>>>> 3 EjendomsForm.tbEjendom.FieldByName('Ejerlav').Text := E_LavsNr;
>>>> ...
>>>> ...
>>>> 9 EjendomsForm.tbEjendom.Post;
>>>>
>>>> Men ved hver kørsel af linie 2 får jeg fejlmeldingen:
>>>> "Expression expected but nothing found."
>>>>
>>>> Hvad har jeg gjort galt?
>>>>
>>>> Mvh Kurt
>>>>
>>> Jeg er kommet frem til, at det må være "EjendomsForm.tbEjendom.Insert",
>>> der
>>> nok kræver parametre om hvad der skal indsættes.
>>> Jeg formodede at den satte databasen i Insertmode. Hvad hedder den
>>> korrekte
>>> komando dertil?
>>
>> Insert kræver ingen parametre, hvis du bruger debuggeren kan du se
>> nøjagtig hvor fejlen kommer.
>
> Vil det sige, at de viste linjer ikke skulle give den beskrevne fejl?

Jeg har lige prøvet her og fik ingen fejl. Hvilken database bruger du?

>
>> /HK
>
> Det er med debuggeren, at jeg har fundet frem til, at det er 2. linje, der
> giver fejlen.

Ja men er det (EjendomsForm.tbEjendom.State in [dsInsert]) eller
EjendomsForm.tbEjendom.Insert der giver fejlen?

/HK



Kurt Guldbæk (21-02-2005)
Kommentar
Fra : Kurt Guldbæk


Dato : 21-02-05 22:26

"Harald" <nomail@noname.dk> skrev i en meddelelse
news:421a4d7a$0$33675$edfadb0f@dread16.news.tele.dk...
> "Kurt Guldbæk" <kurt_g@guldbaek.net> skrev i en meddelelse
> news:421a4c24$0$29276$14726298@news.sunsite.dk...
>> "Harald" <nomail@noname.dk> skrev i en meddelelse
>> news:421a4a9b$0$33687$edfadb0f@dread16.news.tele.dk...
>>> "Kurt" <kurt_g@guldbaek.net> skrev i en meddelelse
>>> news:421a3187$0$215$edfadb0f@dread11.news.tele.dk...
>>>> "Kurt" <kurt_g@guldbaek.net> wrote in message
>>>> news:421a039b$0$231$edfadb0f@dread11.news.tele.dk...
>>>>> Jeg får en fejlmelding, som jeg ikke forstår årsagen til:
>>>>> Jeg har en database EjendomsForm.tbEjendom, som jeg gerne vil indsætte
>>>>> en
>>>> ny
>>>>> record i.
>>>>> Koden er således:
>>>>>
>>>>> 1 EjendomsForm.tbEjendom.Open;
>>>>> 2 If not (EjendomsForm.tbEjendom.State in [dsInsert]) then
>>>>> EjendomsForm.tbEjendom.Insert;
>>>>> 3 EjendomsForm.tbEjendom.FieldByName('Ejerlav').Text := E_LavsNr;
>>>>> ...
>>>>> ...
>>>>> 9 EjendomsForm.tbEjendom.Post;
>>>>>
>>>>> Men ved hver kørsel af linie 2 får jeg fejlmeldingen:
>>>>> "Expression expected but nothing found."
>>>>>
>>>>> Hvad har jeg gjort galt?
>>>>>
>>>>> Mvh Kurt
>>>>>
>>>> Jeg er kommet frem til, at det må være "EjendomsForm.tbEjendom.Insert",
>>>> der
>>>> nok kræver parametre om hvad der skal indsættes.
>>>> Jeg formodede at den satte databasen i Insertmode. Hvad hedder den
>>>> korrekte
>>>> komando dertil?
>>>
>>> Insert kræver ingen parametre, hvis du bruger debuggeren kan du se
>>> nøjagtig hvor fejlen kommer.
>>
>> Vil det sige, at de viste linjer ikke skulle give den beskrevne fejl?
>
> Jeg har lige prøvet her og fik ingen fejl. Hvilken database bruger du?

Pt bruger jeg FlashFiler 2.13

>>> /HK
>>
>> Det er med debuggeren, at jeg har fundet frem til, at det er 2. linje,
>> der giver fejlen.
>
> Ja men er det (EjendomsForm.tbEjendom.State in [dsInsert]) eller
> EjendomsForm.tbEjendom.Insert der giver fejlen?
>
> /HK
Det skal jeg lige checke, de er i øjeblikket på samme linie!
/Kurt



Kurt Guldbæk (21-02-2005)
Kommentar
Fra : Kurt Guldbæk


Dato : 21-02-05 22:43

klippet

> Ja men er det (EjendomsForm.tbEjendom.State in [dsInsert]) eller
> EjendomsForm.tbEjendom.Insert der giver fejlen?
>
> /HK
Det er i den sidste linie: EjendomsForm.tbEjendom.Insert
Jeg har med F7 prøvet at gå ned i Db-unit'en (D5). Fejlen opstår i

procedure TDataSet.EndInsertAppend;
begin
SetState(dsInsert);
try
DoOnNewRecord;
except
UpdateCursorPos;
FreeFieldBuffers;
SetState(dsBrowse);
Resync([]);
raise;
end;
FModified := False;
DataEvent(deDataSetChange, 0); ---------HER OPSTÅR FEJLEN---------
DoAfterInsert;
DoAfterScroll;
end;

Programmet har sikket været nede i nogle FlashFiler-rutiner inden, så det
kan være her problemerne opstår (når du ikke har problemer)!
/Kurt



Thor (21-02-2005)
Kommentar
Fra : Thor


Dato : 21-02-05 23:44

> FModified := False;
> DataEvent(deDataSetChange, 0); ---------HER OPSTÅR FEJLEN---------
> DoAfterInsert;

Det ser ud til, at du har lavet en event f.eks afterscoll eller lignende,
hvor fejlen opstår.
Har du kørt med step into i debuggeren?

mvh Thomas Riedel



Kurt Guldbæk (21-02-2005)
Kommentar
Fra : Kurt Guldbæk


Dato : 21-02-05 23:51

"Thor" <thor@thor.thor> skrev i en meddelelse
news:cvdo54$1pl1$1@news.cybercity.dk...
>> FModified := False;
>> DataEvent(deDataSetChange, 0); ---------HER OPSTÅR FEJLEN---------
>> DoAfterInsert;
>
> Det ser ud til, at du har lavet en event f.eks afterscoll eller lignende,
> hvor fejlen opstår.
> Har du kørt med step into i debuggeren?
>
> mvh Thomas Riedel

Jeg bruger nogle Breakpoint på nogle få linjer og derefter enten F7, F8
eller F9 for at komme videre.
Et par gange har jeg også brugt F4, men ikke normalt!
/Kurt





Thor (22-02-2005)
Kommentar
Fra : Thor


Dato : 22-02-05 00:25

>
> Jeg bruger nogle Breakpoint på nogle få linjer og derefter enten F7, F8
> eller F9 for at komme videre.
> Et par gange har jeg også brugt F4, men ikke normalt!
> /Kurt

Prøv med F7 lige før fejlen opstår!

mvh Thomas



Kurt Guldbæk (22-02-2005)
Kommentar
Fra : Kurt Guldbæk


Dato : 22-02-05 00:07

"Thor" <thor@thor.thor> skrev i en meddelelse
news:cvdo54$1pl1$1@news.cybercity.dk...
>> FModified := False;
>> DataEvent(deDataSetChange, 0); ---------HER OPSTÅR FEJLEN---------
>> DoAfterInsert;
>
> Det ser ud til, at du har lavet en event f.eks afterscoll eller lignende,
> hvor fejlen opstår.
> Har du kørt med step into i debuggeren?
>
> mvh Thomas Riedel

Jeg tror, at du har ret.
Tabellen var jo på en anden form, hvor der er forskellige events knyttet til
den. Da jeg lavede en lokal tabel på 'denne' form forsvandt fejlen!

Mange tak for hjælpe til jer begge.
/Kurt



Søg
Reklame
Statistik
Spørgsmål : 177549
Tips : 31968
Nyheder : 719565
Indlæg : 6408820
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste