After converting the data in my project from text files to MySQL tables, 
things are certainly working more smoothly than they were before, but since 
I use objects (in Perl, which barely supports objects, but that's another 
story) I have to write a lot of annoyingly repetitive code to create the 
object, run a query on the database to get the data that I need, set the 
object's member variables equal to the results returned from the query, and 
then do all those steps in reverse if the object's member values have 
changed later.

Are there any database systems that integrate so smoothly with an 
object-oriented programming language that I would be able to write code 
like:

my $user = user.CreateFromTableRow("bennett");
$user.sendReminderEmails();
$user.emailaddress = '[EMAIL PROTECTED]';

and the appropriate values would get read and written to the underlying 
database table.  There's no reason why a language/IDE designed to integrate 
databases and objects would require more than three lines of code for that.

An ideal database and language integration system could have the following 
features:
(a) there is an automatic one-to-one correspondence between fields in a 
database table and member variables of the object
(b) any field that is a unique key
(c) modifications of the object member variable values get written through 
directly to the database
(d) queries can be done in-place, in code, with a function that takes a 
reference to another function and returns all elements in the table for 
which that function returns true, i.e. this example in pseudocode would 
return an array of all objects corresponding to rows in the table 
"automobile" where the price is less than 10000:
my @user_array = GetMatches('automobile_table',
                        function myfunc($automobile)
                        {
                                if ($automobile.price < 10000)
                                {
                                        return true;
                                }
                        }
                );



*Sigh* I can dream, I guess.  What's actually available? :)  (I am *not* 
averse to using commercial software products which save more money in the 
long run than they cost; please don't *not* tell me about something just 
because it's closed source, proprietary, comes from the Evil Empire in 
Redmond, etc. :))

        -Bennett

[EMAIL PROTECTED]     http://www.peacefire.org
(425) 649 9024


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to