Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations derfloh on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

D7, DbExpress and Sql Server 2000 2

Status
Not open for further replies.

Karen99

Programmer
Aug 5, 2003
113
ZA
I am using D7, DbExpress and Sql Server 2000.

I have a dbexpess query which sql statement is : select * from a. And table A have 10 fields. Why is it that the query only sees the first 6 fields ?

What am I missing ?
 
Does it maybe have to do with the DBExpress driver that I am using ?
 
Yes.

There is a restriction on an evaluation version of one of the dbExpress drivers which only allows 6 fields to be seen.

Which driver have you got?

Andrew
 
The driver I've got is dbxsda.dll from Core Lab.

Do you know of any free drivers or is the only way to buy one ? Any sugesstion of nice DBExpress drivers with SQL Server 2000 ?
 
I think DBExpress is faster than ADO. Anybody for an opinion on this ?
 
ok, did a little research about dbexpress and this what i found :
------------
Using dbExpress
dbExpress is designed to efficiently access data and to carry little overhead. To accomplish
this, dbExpress uses unidirectional datasets.
Unidirectional, Read-Only Datasets
The nature of unidirectional datasets means that they don’t buffer records for navigation or
modification. This is where the efficiency is gained against the bi-directional BDE datasets that
do buffer data in memory. Some limitations that result are
• Unidirectional datasets only support the First() and Next() navigational methods.
Attempts to call other methods—such as Last() or Prior()—will result in an exception.
• Unidirectional dataset records aren’t editable because there is no buffer support for editing.
Note, however, that you would use other components (TClientDataset,
TSQLClientDataset) for editing.
• Unidirectional datasets don’t support filtering because this is a multirecord feature and
unidirectional datasets don’t buffer multiple records.
• Unidirectional datasets don’t support lookup fields.
------------------

so dbexpress is lighter in use but you'll loose functionallity due to it's unidirectional nature. anyway I would still prefer ADO above dbexpress for it's easy of use nature. if you want performance I'd implement some sort of caching ,but this depends on the type off app you're making....

 
Thanks whosrdaddy for your input.

Can anybody please answer my question about the DBExpress driver. Must I buy one or are there nice freeware ones on the net. And which ones are the best by your experience.
 
I use dbExpress but with MySQL. The Core Lab driver seems to be good and it is not particularly expensive.

There are other drivers about but I have not used them so am unable to comment further. Try Google or your favourite search engine to find one. You may find you spend more money/time investigating other solutions than if you bought the Core Lab driver.

I have found dbExpress to be good and fast (but the Borland drivers I have used for MySQL have been suspect).

whosrdaddy suggests that unidirectional datasets are a disadvantage but the big advantage of dbExpress is speed.

However, it is very easy to have all the facilities that whosrdaddy mentions by using a ClientDataset and a DatasetProvider (both available on the Data Access component palette).

The flexibility that the dbExpress architecture gives you is that when you want speed you can have it by using the basic dbExpress components but when you need the kind of facilities mentioned by whosrdaddy you can have them too by adding a couple of easy to use components.

I can't compare dbExpress with ADO because I have never used ADO.

Andrew
 
That was a very nice explanation 'who is your daddy'. I have stick to the plain bde components until now and I am quite satisfied.
The questions heard lately about drivers are all concerned about speed, but speed comes at a certain price and you answered that very well!!

Regards

Steven van Els
SAvanEls@cq-link.sr
 
Ok, but my whole problem at the moment is speed. And I am using plain bde components. So I am looking for alternatives.
 
karen,

are you making a client/server db application or is a local database enough??

 
Answer to whosrdaddy :

client/server db application
 
With a TQuery you will not have the problems of field limitation. If you put the requestlive property to true, the query is updatable. Don't make queries out of two tables (union) but use a simplified master-detail approach.
Use parametrized queries to limit the data transfer between the client and server computer.

Steven van Els
SAvanEls@cq-link.sr
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top