I dont like the part
" LandFeatureTable.indexname := '';
LandFeatureTable.findkey([fieldbyname
('featurename').Value]);
LandFeatureTable.Edit;
LandFeatureTableFeatureNr.Value := FeatureNr;
LandFeatureTablePosFeaturePts.Value := PosFeaturePts;"
Findkey is time consuming.
Hold in mind that for a Client-Server environment, the data processing is done on the server. Updating a table with sql would be something like:
insert into TableA(
RNUM , E110_THRD , etc..)
select e.RNUM,
TDH_E110 , REM_TDH_E110, etc..
from RSAMPLE e, x_unitsteam
where e.R_date = dat_
Avoid iterations as .next, .edit, .post, while not EOF on client server systems.
If you need some values, write a stored procedure on the SQL-Server to get it.
Don't use visual components like gauges to much, especially in loops, because windows need to check and update screens also. It is easy to get locked up in an endless loop that has nothing do with the data processing itself.
The BDE runs like an SQL engine and is optimized for paradox, and other file bases (desk-top) databases. It can be interpreted like the Borland Alternative for ODBC.
The Client-Server systems got their own SQL engine embedded in the Database, thus for making optimal use you will need to inquire them with SQL statements.
There are a lot of database components that make calls directly to the API of the different systems (ADO, IBX etc..), and don't need the use of the BDE. I suspect that when using the BDE with the native client-server drivers, the calls are directly routed to the database API, if you do not use .next etc.
I personally like the BDE, because it gives me more portability. I can write a program using plain BDE components (in the right way) and connect it to any client-server database. If you use ADO, IBX or other you have to certainly rewrite some code, with the BDE it would be only 2 seconds fiddling around in the BDE administrator.
Regards
Steven van Els
SAvanEls@cq-link.sr