In mijn programma maak ik gebruik van een ADO verbinding en de database wordt bewerkt met SQL. De database werkt onder SQL server. Het werkt geweldig en op wat onduidelijkheden na is het ook voor een amateur als ondergetekende goed te begrijpen en mee te werken.
Nu ben ik tegen een schoonheidsfoutje aangelopen en zie er nog geen oplossing voor. Ik hoop dat iemand mij verder kan helpen.
Met insert voeg ik een record toe in de tabel.
Code:
SQL.Text := 'Insert into NAW (Naam,VoorL) ' +
'Values(:Naam,:VoorL)';
Parameters.ParamByName('Naam').Value := EditNaam.Text;
Parameters.ParamByName('VoorL').Value := EditVoorL.Text;
Try
ExecSQL;
Except
end;
Dit voert het uit maar er wordt geen resultaat teruggegeven.
end;
Geeft wel resultaten terug maar nu staat de cursor op het eerste record. Nog niet erg met het commando LAST naar het laatste record en het is haast zeker dat dit het toegevoegde record is. Een wat onzekere oplossing maar het werkt. Tot ik een tabel gebruik welke in een andere volgorde wordt getoond. Sorteer ik op kolom twee en drie met
Code:
With ADOQ1 do
Try
DisableControls;
SQL.Text := 'SELECT * FROM Artikelen ORDER BY ArtGroep, ArtPlaats';
Try
Open;
Except
end;
Finally
EnableControls;
end;
Dan staat de ID kolom ArtikelNr helemaal door elkaar en is LAST bijna zeker een ander record dan ik zojuist heb toegevoegd.
De vraag is :
Hoe kom ik op het zojuist toegevoegde record na een insert. Voor velen ligt de oplossing voorhanden. Voor mij binnenkort ook, hoop ik.
Tot ziens en bedankt, resultaat of niet.
Bookmarks