Take a look at http://www.kylecordes.com/ for better alternatives to the
BDE.
Today I tryed several of the solutions recommended in the site, and my
favorites were ODBCExpress from DataSoft <www.odbcexpress.com) and Kamiak
ADO from Kamiak (www.kamiak.com).
I also previously tried TSQLQuery from Component Store Ltd
(www.component-store.com) BUT this one is based in the DBLib interface.
Part of the problem with using MS SQL Server from Delphi is that Microsoft
does not care to improve the DBLib API, which is used by both the BDE and
the TSQLQuery component. This last one has less overhead but it is not that
much faster to retrieve large amounts of data than the BDE, and its
filosophy is also to fetch all the records for each dataset.
Microsoft game is ODBC and ADO. The best database drivers for SQL Server are
there!
With ODBC Express, opening a query over 2400 rows and going to the last can
take as litle as 0.4 seconds (even if it takes much more to access all
records one by one) without locks! I deleted some records while I was
playing with the grid displaying the resultset without problems (with a
static dataset). And book marks work well (after you move to the last
record - don't ask why!).
With Kamiak ADO, editing data over a SQL statement with filtering and
sorting (with an "ORDER BY" and a "WHERE" clause) is linear: you just define
the statement and some cursor properties, no TUpdateSQL SQL statements, no
strange events, nothing! It fully uses ADO functionality (I was using it
over ADO 2). It does not look to be so fast on some things as ODBC Express,
but for editing is much easier to use. Still crashes a bit, but I guess it
must be something simple. Maybe even a matter of having a different Delhi 4
fix pack.
Anyway, both packages have packages that include source code, and ADO must
be the easier to fix (it seems to be using the ActiveX interface).
On query performance also, and on problems with logs, locks, name objects,
server freezing and other stupid things... keep an eye on SQL Server 7.
Good luck
Quote
rhernan...@pandasoftware.es wrote in message
<71pdnt$bj...@nnrp1.dejanews.com>...
Quote
>We are programming with Delphi 4 C/S Service Pack 2 and MSSQL server 6.5.
>Our DataBase have around 40 tables and the largest table have around 100000
>registers.
>We have a problem with the kind o TDataSet to use.
>If we use TTables we can open very fast but we have problems applying
filters
>or indexes.
>If we use Tquerys we can gets results very fast applying filters or indexes
>but
>only can one open query at time because if we try to open other query is
like
>the server send the client all the registers of the first open query, and
then
>execute the second.
>?How we can solve this problems?
>PLEASE HELP US AS SOON AS YOU CAN
>-----------== Posted via Deja News, The Discussion Network ==----------
>http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own