Personally, I am in favour of putting database handling in its own
classes or even a separate layer. It helps you switch databases if you
ever want to, and I usually do want to in my unit tests.
No method is "absolutely correct". You can represent the whole database
structure in an object layer, but in some cases that could be too much
work with no gain.
If you find yourself typing (or pasting) duplicate code, like database
handling code, you can refactor that code into its own class and refer
to an instance of that class.
In general, you can always refactor a working design into a better
designed situation, so don't fix yourself on starting perfectly.
Lots of databases have optimizations, but they can be different. Know
your database. I know MS-Access and SQL server can handle repetative
simple commands well (but in different ways). Especially if you are
writing for different database types, you'd best stick to simple
commands or abstract database commands to specific objects for the
database types.
Best regards
Jack wrote:
Hello,
VB6. I have a class. The class receives a bunch of individual items from
an asp page, then updates the database. My question is what is the best way
you have found to update the database, one record at a time -or- send every
that needs to get written to the database to the class, then execute a
function to update the tables.
Here are the two scenarios.
-1-
For each record I need to insert into the db, Call a method on a class,
passing the items. In the method, execute an insert statement.
-or-
-2-
Have a method, like 'additem'. This method would add the stuff to a
collection in the class. Then, when the asp page is finished adding all its
items, call a method to take each item in the collection and insert it to
the database.
I have done it both ways in the past, but was curious to know the way you
guys do something like this. Thanks for your time.