Board index » delphi » New to SQLServer Programming

New to SQLServer Programming


2005-05-11 04:03:14 PM
delphi227
Dear All,
I have made some applications with Delphi+MS Access, up to now nothing of
the dabase file gets 1GB, fairly small, and all run smoothly and fast.
Now, I have an assignment of making an application for a department store
would be. There's would be a LOT of items and they asked me to use a real
database, MySQL, FireBird, or other free/not expensive database server. I'll
take Firebird personally.
My concern is : I usually use data control components with ADO, if I use
TDBLookupCombobox and the lookup table to choose from is highly populated,
will it be slower to a significant delay and the users get bored/frustrated?
(I know to use a selected record only, but it takes time too, right?).
Your recommendation on this situation highly appreciated.
TIA,
HB
 
 

Re:New to SQLServer Programming

Herry B. writes:
Quote
Dear All,

I have made some applications with Delphi+MS Access, up to now
nothing of the dabase file gets 1GB, fairly small, and all run
smoothly and fast.

Now, I have an assignment of making an application for a department
store would be. There's would be a LOT of items and they asked me to
use a real database, MySQL, FireBird, or other free/not expensive
database server. I will take Firebird personally.

My concern is : I usually use data control components with ADO, if I
use TDBLookupCombobox and the lookup table to choose from is highly
populated, will it be slower to a significant delay and the users get
bored/frustrated? (I know to use a selected record only, but it
takes time too, right?).

Your recommendation on this situation highly appreciated.

I do not understand completly but how populated is the lookup table?
100, 1000 or more records? How often is the lookup table updated? once
a day, once a month?
In most cases my lookup tables are not changed very often so I feel
them when I first open the datamodule and live them that way until I
close them and/or reopne them. Since a datamodule is used through all
the actions for a module (eg customers) I am also plasing a refresh
button on the module browser form and let the user refresh it on will.
Regards
Yannis.
 

Re:New to SQLServer Programming

Herry B. writes:
Quote
Dear All,

I have made some applications with Delphi+MS Access, up to now nothing of
the dabase file gets 1GB, fairly small, and all run smoothly and fast.
Now, I have an assignment of making an application for a department store
would be. There's would be a LOT of items and they asked me to use a real
database, MySQL, FireBird, or other free/not expensive database server. I'll
take Firebird personally.

My concern is : I usually use data control components with ADO, if I use
Nothing to do with your question, but: If you use Delphi and Firebird
you should look into using IBO (www.ibobjects.com) or FIBplus in place
of ADO. IBO and FIB+ are better matched to Fb (and IB) than ADO.
Unless you intend to also support other backends (using ADO), that is.
--
Aage J.
 

Re:New to SQLServer Programming

Yannis,
I tried with 1300 records and all run ok, I am worrying about the growing
data, and some table could be quite large, say, in a year.
Aage,
Thanks I will consider it.
"Aage Johansen" <XXXX@XXXXX.COM>writes
Quote
Nothing to do with your question, but: If you use Delphi and Firebird
you should look into using IBO (www.ibobjects.com) or FIBplus in place
of ADO. IBO and FIB+ are better matched to Fb (and IB) than ADO.
Unless you intend to also support other backends (using ADO), that is.

--
Aage J.
 

Re:New to SQLServer Programming

Herry B. writes:
Quote
Yannis,
I tried with 1300 records and all run ok, I am worrying about the
growing data, and some table could be quite large, say, in a year.

I'm a litle confused. My biggest lookup table has 600 ~ 800 records.
Are you sure your talking about lookup tables and not a master detail
relationship? I do not know your design or the problem you are
addressing but usually a look up table is made of more or less fixed
number of items (after a period of time).
In any case in your position I'd not use a dblookupcombo component
1300 records to choose from are not consider user friendly IHMO. I
would change the design to a search component (either dialog or a
custom drop down grid etc) letting the user key in a number of
chataracters in order to fetch from the database a smaller dataset for
him/her to choose from.
Also you sya and I quote
Quote/
I know to use a selected record only, but it takes time too, right?
/Quote
This confuses me a lot.
How big do you expect this table to be?
What is the record size?
Can you post the design?
Regards
Yannis.
 

Re:New to SQLServer Programming

Thanks Yannis,
I understand that you confused with my problem, and I am trying to solve it
before hand to avoid problems later.
Let say user want to input an item (this is a department store) and s/he
must choose the category of the item. S/he could either click a button to
direct her to a form containing all the categories then choose from there,
or she could just click a lookup combobox, which, I believe, the easier way.
The category of items on this store could reach 3000-4000 items as informed
by the owner.
Quote
In any case in your position I'd not use a dblookupcombo component
1300 records to choose from are not consider user friendly IHMO.
That's what in my mind right now. The 1300 records are from my previous
project but they not all presented to the user, I made a select from this
table, and presented only the selected ones. What I meant here was the
SQLCommand in the lookupcombo was fast in performing the select from the
table eventhough it quite large.
I haven't made the table yet, since I am still on the design step of this
project. They want me to make a presentation of what would I do.
Thanks.
----- Original Message -----
From: "Yannis" <XXXX@XXXXX.COM>
Newsgroups: borland.public.delphi.database.sqlservers
Sent: Thursday, May 12, 2005 4:58 PM
Subject: Re: New to SQLServer Programming
Quote
Herry B. writes:

>Yannis,
>I tried with 1300 records and all run ok, I am worrying about the
>growing data, and some table could be quite large, say, in a year.
>

I'm a litle confused. My biggest lookup table has 600 ~ 800 records.
Are you sure your talking about lookup tables and not a master detail
relationship? I do not know your design or the problem you are
addressing but usually a look up table is made of more or less fixed
number of items (after a period of time).

In any case in your position I'd not use a dblookupcombo component
1300 records to choose from are not consider user friendly IHMO. I
would change the design to a search component (either dialog or a
custom drop down grid etc) letting the user key in a number of
chataracters in order to fetch from the database a smaller dataset for
him/her to choose from.

Also you sya and I quote
Quote/
I know to use a selected record only, but it takes time too, right?
/Quote

This confuses me a lot.
How big do you expect this table to be?
What is the record size?
Can you post the design?

Regards
Yannis.
 

Re:New to SQLServer Programming

Herry B. writes:
3000 to 4000 categories are a lot bigger than my projects. how many
products per category in average? Can you group categories with sub
categories etc? If yes then you can you a tree based selection and load
eatch sub category as it is expanded instead of loading them all at
once. I can not think of anything else at this time.
Regards
Yannis.
 

Re:New to SQLServer Programming

Thanks again,
I've discussed with them and came to conclusion of dividing the category
into 4 sub-categories which each of the category would be presented by a
lookup combobox. That lighten my problems. Thank you for sharing.
HB
"Yannis" <XXXX@XXXXX.COM>writes
Quote
Herry B. writes:

3000 to 4000 categories are a lot bigger than my projects. how many
products per category in average? Can you group categories with sub
categories etc? If yes then you can you a tree based selection and load
eatch sub category as it is expanded instead of loading them all at
once. I can not think of anything else at this time.

Regards
Yannis.