Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 6 of 6 total
Thread SOS - DBISAM Query vs. ElevateDB Query - record modification...
Fri, Oct 12 2007 8:39 AMPermanent Link

Durumdara
SOS HELP NEEDED!

Hi!

I have to translate (change) an application from DBISAM to EDB quickly.

I have a Query in the main screen, which Query is a filtered (by SQL), ordered query.

From this main window you can move to Edit Window where you can Insert or Edit a new record.
After that the modifications are appeared in the main Query without Reopen it: I simply
copy (or insert + copy) the record data to the Query.

In EDBQuery this is NOT WORKING, because it said: "Query is readonly!".

I created some UpdateObject but it is still readonly...

I don't understand this thing, because the local query modification (without rewriting to
original table) is one of the best thing in DBISAM.
But as I see in EDB this is NOT WORKING. And there is not other way to make "local cache"
like in BDE (CachedUpdates)... to provide same effect.

In this application the record numbers are limited to 1000-2000... I can make a solution
locally if I make a temp table and I insert every records to this table - and I show this
table in the Grid, not the Query.

But because I wanna use this app from remote server this is not working, because the copy
of all records are slow...
And in need to load only the records are showed in the screen... (so I don't wanna Fetch
all, only the needed recs. As I know the TEDBQuery is doing this - fetch as needed).

I cannot use Table component, because Query needed for server side filtering. But I need
to modify the records in the Query (to not reopen in every inserts/modifications).

What is the a solution to this problem in EDB? Can I make same thing as in DBISAM? How?

Thanks for your SOS help!
 dd
Fri, Oct 12 2007 9:43 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Durumdara,

<< From this main window you can move to Edit Window where you can Insert or
Edit a new record. After that the modifications are appeared in the main
Query without Reopen it: I simply copy (or insert + copy) the record data to
the Query.

In EDBQuery this is NOT WORKING, because it said: "Query is readonly!". >>

Use the CREATE TEMPORARY TABLE AS SELECT.... syntax instead.  Then you can
open the temporary table and work with it like a normal table.

http://www.elevatesoft.com/edb1sql_create_table.htm

--
Tim Young
Elevate Software
www.elevatesoft.com

Fri, Oct 12 2007 9:58 AMPermanent Link

Durumdara
"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote:

Durumdara,

>>>
Use the CREATE TEMPORARY TABLE AS SELECT.... syntax instead.  Then you can
open the temporary table and work with it like a normal table.

http://www.elevatesoft.com/edb1sql_create_table.htm
>>>

1.)
Is this not slowing down my queries? (for example: many records is in my table? Or query
also collect the records to a temp table if I use it normal way?)

2.)
Is this created on server side (so is it fast(er than I fetched them all))?

3.)
Can I define table name if the table is temporary (for access it as table)?

4.)
These server side temp. tables are really destroyed on client's disconnect?

Thanks for your help:
 dd
Fri, Oct 12 2007 6:11 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Durumdara,

<< Is this not slowing down my queries? (for example: many records is in my
table? Or query also collect the records to a temp table if I use it normal
way?) >>

The query is also using a temporary table if it is read-only in EDB.

<< 2.) Is this created on server side (so is it fast(er than I fetched them
all))? >>

Yes, it is created on the server side.

<< 3.) Can I define table name if the table is temporary (for access it as
table)? >>

Yes, you can give it a name just like a normal table.

<< 4.) These server side temp. tables are really destroyed on client's
disconnect? >>

Yes, they are automatically dropped if the session disconnects.

--
Tim Young
Elevate Software
www.elevatesoft.com

Mon, Oct 15 2007 5:45 AMPermanent Link

Durumdara
<< Is this not slowing down my queries? (for example: many records is in my
table? Or query also collect the records to a temp table if I use it normal
way?) >>

The query is also using a temporary table if it is read-only in EDB.

<< 2.) Is this created on server side (so is it fast(er than I fetched them
all))? >> Yes, it is created on the server side.

The "order by" is ignored?
I tried with "order by name", but it is also ordered by "id" (priidx) in the EDBTable
component or insertion used this order.

So I need to make new indexes to the table to sort it by "name" or other field...

Or not? Or I know/see st wrong?

dd



Mon, Oct 15 2007 4:35 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Durumdara,

<< The "order by" is ignored? >>

Yes, see here:

http://www.elevatesoft.com/scripts/newsgrp.dll?action=openmsg&group=17&msg=483&page=1#msg483

<< So I need to make new indexes to the table to sort it by "name" or other
field...  >>

Yes, create the table without an ORDER BY and then create any necessary
indexes using the CREATE INDEX statement.

--
Tim Young
Elevate Software
www.elevatesoft.com

Image