Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 7 of 7 total
Thread ANN: Context Database Designer & Extensions v.2.09 is now available!
Tue, Aug 15 2006 4:02 PMPermanent Link

"Context Software"
Dear Friends,

We are happy to announce the new release of Context Database
Designer & Database Extensions v.2.09.

Context Database Designer & Extensions now supports:
 - MS SQL 2000/2005/Express
 - MS Access (NEW!)
 - My SQL 4 & 5
 - Mimer 9
 - Oracle 8
 - DBISAM 3 & 4
 - Nexus 1 & 2
 - Paradox

We strongly advise all users to upgrade to this release
as it addresses some problems and adds many great features,
including:

- Fixed Access Violation when pasting deleted or renamed
table onto a diagram;

- Added Add Related Tables operation (see diagram
right-mouse menu). This allows quickly adding all tables
related to the selected table to the diagram;

- Added Copy Table Definition operation (see Schema main
menu, diagram right-mouse menu and Edit Table Definition
dialog). This allow copying fields & indexes from other
tables;

- Fixed SQL generation & import for MS SQL Server 2000/2005
computed fields;

- Fixed bug in SQL generation of primary keys for
MS SQL Server 2000/2005.

Both products are immediately available for download at:

 http://www.contextsoft.com/products/dbdesign/downloads.jsp.
and
 http://www.contextsoft.com/products/ctxdbext/downloads.jsp.

See screenshots here:
 http://www.contextsoft.com/products/dbdesign/screenshots.jsp

General Information About Context Database Designer
===================================================

Context Database Designer is a great tool for designing and
managing database schemas. It provides the full cycle of database
schema design and maintenance, including: creating of tables,
relations, views and stored procedures; drawing of sophisticated
and professional looking diagrams; maintaining the history of
changes made to the database schema; comparing any two
versions of any two schemes, viewing the difference and instantly
building upgrade SQL script for any given database engine.

We believe, that Context Database Designer is one of the most
powerfull, flexible and feature-rich tools available on the
market today. We highly appreciate your comments and suggestions
that help us making it even better and more accessible for all
database developers.

Fully functional trial version is available at:

Context Database Designer
http://www.contextsoft.com/products/dbdesign/downloads.jsp

Context Database Extensions
http://www.contextsoft.com/products/ctxdbext/downloads.jsp

For more details, please go to
http://www.contextsoft.com/products/dbdesign
http://www.contextsoft.com/products/ctxdbext
and refer to the included help files, demos and screenshots.

Sincerely,
Michael Baytalsky
e-mail: mike@contextsoft.com
http://www.contextsoft.com

Sat, Aug 19 2006 6:21 AMPermanent Link

Chris Erdal
"Context Software" <support@contextsoft.com> wrote in news:B831B506-6E10-
4000-BB6D-02114341B412@news.elevatesoft.com:

> Dear Friends,
>
> We are happy to announce the new release of Context Database
> Designer & Database Extensions v.2.09.
>

Thanks for continuing to improve this incredibly useful utility.

Could you possibly include a TDBISAMUpdateSQLExt component in the next
release?

I use TDBISAMUpdateSQL for some semi-automated Update/Delete functionality,
and I'm not getting error messages when a record is not deleted due to a
relationship constraint.

The delete is refused, but the return value of RowsAffected is 1 so I give
an erroneous message to the user, and the predefined DeleteErrorMessage is
not shown.

Thanks,
--
Chris
Sat, Aug 19 2006 6:31 PMPermanent Link

Michael Baytalsky
Hi Chris,

> Thanks for continuing to improve this incredibly useful utility.
>
> Could you possibly include a TDBISAMUpdateSQLExt component in the next
> release?
I will look into it, however, if that component uses SQL queries to
update the database, I'm afraind it would be impossible to use it
with client-side RI. Client-side RI can only work with tables and
live queries (i.e. direct cursors) and not with update/delete/insert
queries.

> I use TDBISAMUpdateSQL for some semi-automated Update/Delete functionality,
> and I'm not getting error messages when a record is not deleted due to a
> relationship constraint.
That is as expected. If you use SQL RI will not be enforced. It's simply
impossible, because SQL is processed on server (or inside server engine
if you use local access), and we cannot hook in there currently.

> The delete is refused, but the return value of RowsAffected is 1 so I give
> an erroneous message to the user, and the predefined DeleteErrorMessage is
> not shown.
I'm not sure what that means and why delete is refused, but if it is a
result of delete from query, then it is not handled by extensions.


Michael
Sun, Aug 20 2006 7:34 AMPermanent Link

Chris Erdal
Michael Baytalsky <mike@contextsoft.com> wrote in
news:0053952E-6203-4482-95D6-6852739DC791@news.elevatesoft.com:

>> Could you possibly include a TDBISAMUpdateSQLExt component in the
>> next release?
> I will look into it, however, if that component uses SQL queries to
> update the database, I'm afraind it would be impossible to use it
> with client-side RI. Client-side RI can only work with tables and
> live queries (i.e. direct cursors) and not with update/delete/insert
> queries.

Ah, so I'll have to program my Server-side triggers as well.

>> ...because SQL is processed on server (or inside
> server engine if you use local access), and we cannot hook in there
> currently.
>

But with EDB that will all change, won't it?

>> The delete is refused, but the return value of RowsAffected is 1 so I
>> give an erroneous message to the user, and the predefined
>> DeleteErrorMessage is not shown.
> I'm not sure what that means and why delete is refused, but if it is a
> result of delete from query, then it is not handled by extensions.
>

Thanks for that. I must have forgotten some other safety devices I built
into the application somewhere...

--
Chris
Sun, Aug 20 2006 8:03 AMPermanent Link

Michael Baytalsky
Hi Chris,

>>> ...because SQL is processed on server (or inside
>> server engine if you use local access), and we cannot hook in there
>> currently.
> But with EDB that will all change, won't it?
Well, AFAIK, EDB will have its own RI built-in, so you will no longer need
client-side RI. The Designer will still work to produce foreign key
constraints instead of enforcing RI on client side, so the transition
should be seamless.


Michael
Thu, Aug 24 2006 5:53 AMPermanent Link

Chris Erdal
Michael Baytalsky <mike@contextsoft.com> wrote in
news:CFC2F54B-458B-4CFF-8139-B245BE9157F6@news.elevatesoft.com:

> Hi Chris,
>
>>>> ...because SQL is processed on server (or inside
>>> server engine if you use local access), and we cannot hook in there
>>> currently.

Although this is perfectly obvious on reflection, it never occurred to
me!

I was generating INSERT / UPDATE / DELETE scripts for the
TDBISAMUpdateSQL linked to the TDBISAMQueryExt on the fly from user input
to a non-data aware grid for any canned queries, so I was bypassing your
trigger-handling completely.

Perhaps you should alter your help files to warn us that your scripts do
not apply to INSERT / UPDATE / DELETE scripts.

I have now replaced that functionality with a second TDBISAMQueryExt with
a SELECT * script on the main table in the canned query I'm using for
user interaction, which is linked to it by a master-detail relationship
on the primary key fields (so it always has only one record in its
dataset).

I just add an OPEN on the detail query in the OnBeforePost event handler
for the Master query, assign any <Field>.Values that are different from
their <Field>.OldValues to the detail query, and do the Post on the
detail query. That way I still rely on your code for constraints and
error messages, and I don't need to duplicate it all in server-side
Trigger code.

Another OPEN in the onDelete event handler allows me to delete the chosen
record in the detail query , in the same way.

It just so happens that doing a Post or Delete on a canned DBISAMQuery
doesn't seem to throw any error messages, so there's no special handling
required there.

I set all this up in a Form that I inherit all my grid-input forms from,
so it's transparently applied to all new forms which makes things very
easy.

It seems to me that doing things this way is both totally reliable and
totally compatible with your extensions for DBISAM 4 and EDB, n'est-ce
pas ?

--
Chris
Thu, Aug 24 2006 5:48 PMPermanent Link

Michael Baytalsky
Chris,

> It seems to me that doing things this way is both totally reliable and
> totally compatible with your extensions for DBISAM 4 and EDB, n'est-ce
> pas ?
Oui, oui Wink I think what you've described should work fine. Make sure
your second select only query is Live and that should be it.


Michael
Image