🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
5 messages
5 total messages Started by Marc P. Sun, 05 Oct 2003 22:02
Records toevoegen aan een tabel
#3996
Author: Marc P.
Date: Sun, 05 Oct 2003 22:02
16 lines
1753 bytes
Ik werk met Delphi7 en Interbase, en gebruik de component SqlClientDatset

procedure TForm1.Button1Click(Sender: TObject);
begin
     With SqlClientDatset1 do
     begin
          CommandText := 'INSERT INTO Artikels (Artikelnaam, Artikelnummer)
' +
          'VALUES :_Artikelnaam, :_Artikelnummer)';
          Execute;
     end;
end;

Vraag is : waarom kan ik met deze code code g��n record toevoegen aan de
tabel ? ( met gewone Pascal statements lukt dit natuurlijk wel ) dank voor
uw tijd .........
Re: Records toevoegen aan een tabel
#3999
Author: KLinZ
Date: Sun, 05 Oct 2003 23:30
38 lines
2618 bytes
In news:Fx0gb.60383$b83.2502724@phobos.telenet-ops.be, Marc P. typed:

> Ik werk met Delphi7 en Interbase, en gebruik de component
> SqlClientDatset
>
> procedure TForm1.Button1Click(Sender: TObject);
> begin
>      With SqlClientDatset1 do
>      begin
>           CommandText := 'INSERT INTO Artikels (Artikelnaam,
> Artikelnummer) ' +
>           'VALUES :_Artikelnaam, :_Artikelnummer)';
>           Execute;
>      end;
> end;
>
> Vraag is : waarom kan ik met deze code code g��n record toevoegen aan
> de tabel ? ( met gewone Pascal statements lukt dit natuurlijk wel )
> dank voor uw tijd .........

Waarom lukt het niet? Wat voor foutmelding krijg je? Wat bedoel je met
'gewone Pascal statements'?

Ik zie wel dat je de parameters niet vult voordat het statement uitgevoerd
wordt.

      With SqlClientDataset1 do
      begin
           CommandText := 'INSERT INTO Artikels (Artikelnaam, Artikelnummer)
' +
           'VALUES :_Artikelnaam, :_Artikelnummer)';
           ParamByName('_Artikelnaam').AsString := 'artikel';
           ParamByName('_Artikelnummer').AsInteger := 1251;
           Execute;
      end;

-- 
www.zenobits.com
Re: Records toevoegen aan een tabel
#4001
Author: Marc P.
Date: Mon, 06 Oct 2003 08:59
37 lines
2379 bytes
> Waarom lukt het niet? Wat voor foutmelding krijg je? Wat bedoel je met
> 'gewone Pascal statements'?
bedoel ik dit ;

With SqlClientDataset1 do
begin
        Append:
        FieldByName('Artikelnaam').AsString := 'Artikel1';
        Post;
        ApplyUpdates(-1);
end;

> Ik zie wel dat je de parameters niet vult voordat het statement uitgevoerd
> wordt.
>
>       With SqlClientDataset1 do
>       begin
>            CommandText := 'INSERT INTO Artikels (Artikelnaam,
Artikelnummer)
> ' +
>            'VALUES :_Artikelnaam, :_Artikelnummer)';
>            ParamByName('_Artikelnaam').AsString := 'artikel';
>            ParamByName('_Artikelnummer').AsInteger := 1251;
>            Execute;
>       end;


Als ik onderstaande code invul :

With Artikels do
     begin
          CommandText := 'INSERT INTO Artikels (Artikelnaam) VALUES :test';
          Params.ParamByName('test').AsString := 'Artikelnaam1';
          Execute;
     end;

krijg ik de melding "parameter test not found"   Wat doe ik mis ??
Re: Records toevoegen aan een tabel
#4003
Author: KLinZ
Date: Mon, 06 Oct 2003 16:16
26 lines
2209 bytes
In news:1aagb.61014$K63.2500715@phobos.telenet-ops.be, Marc P. typed:

>> Waarom lukt het niet? Wat voor foutmelding krijg je? Wat bedoel je
>> met 'gewone Pascal statements'?
> bedoel ik dit ;

<snip code>

Blijven er twee vragen open :-)

> Als ik onderstaande code invul :
>
> With Artikels do
>      begin
>           CommandText := 'INSERT INTO Artikels (Artikelnaam) VALUES
>           :test'; Params.ParamByName('test').AsString :=
>           'Artikelnaam1'; Execute;
>      end;
>
> krijg ik de melding "parameter test not found"   Wat doe ik mis ??

Gebruik beter een T(Update)Query. Vul daarvan de SQL property met je
statement en het zal waarschijnlijk beter gaan (zie ik in mijn glazen bol).

-- 
www.zenobits.com
Re: Records toevoegen aan een tabel
#3917
Author: henkh
Date: Tue, 07 Oct 2003 13:36
12 lines
1393 bytes
> Ik werk met Delphi7 en Interbase, en gebruik de component SqlClientDatset

 SqlClientDatset is in D7 'deprecated', Borland beschouwt het nu als een
vergissinkje uit D6.

Gebruik dus liever een andere component, TSqlQuery heeft nog de minste
overhead.

Maar wat jij wil kan ook via de TSqlConnection, zie Execute en ExexuteDirect

-hh-
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads