Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 7 of 7 total
Thread Does Query and Datasource component NOT work ?
Tue, Jul 24 2007 11:36 AMPermanent Link

Peter van Mierlo
hi,

After a long..long time i have to rebuild a older apps using dbisam 3.19 and now would
need to use a query component for append/editing records. So i put a TDbisamQuery
component on the form, connect to a datasource component (from default tab ''DataAccess'').
Set SQL string and run the apps. DBNavigator is connected and points to the datasource...

When adding/saving records you see the records, but when closing the apps and
starting the apps again there are no records...even when i look with dbsys the
table is empty.

So...or i have to learn using dbisam components again...which possible or i'm doing
something very stupids....or ....this is not working like mysql.

greetz Peter


Tue, Jul 24 2007 11:42 AMPermanent Link

"Robert"
http://www.elevatesoft.com/dbisam4d6_tdbisamquery_requestlive.htm

Robert

"Peter van Mierlo" <p.mierlo@planet.nl> wrote in message
news:F33A2C58-FA7D-4834-B2F3-8DD369B17E18@news.elevatesoft.com...
> hi,
>
> After a long..long time i have to rebuild a older apps using dbisam 3.19
> and now would
> need to use a query component for append/editing records. So i put a
> TDbisamQuery
> component on the form, connect to a datasource component (from default tab
> ''DataAccess'').
> Set SQL string and run the apps. DBNavigator is connected and points to
> the datasource...
>
> When adding/saving records you see the records, but when closing the apps
> and
> starting the apps again there are no records...even when i look with dbsys
> the
> table is empty.
>
> So...or i have to learn using dbisam components again...which possible or
> i'm doing
> something very stupids....or ....this is not working like mysql.
>
> greetz Peter
>
>
>

Tue, Jul 24 2007 11:46 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Peter


You're almost certainly generating a canned result set and whilst you can edit those the data isn't altered in the underlying table. What you need to do is use the on afterpost event to update the real table/tables.

Roy Lambert
Tue, Jul 24 2007 11:58 AMPermanent Link

Peter van Mierlo
hi,

does that mean the i always have to use the combination of a :
TDBisamTable and TDBisamQuery and TDatasource or how
do i need to do this update of the real tables.....it's a little bit
confusued because it works a little bit different as mysql and
his components because there you can do all the things you
need directly on a query component

Roy Lambert <roy.lambert@skynet.co.uk> wrote:

Peter


You're almost certainly generating a canned result set and whilst you can edit those the data isn't altered in the underlying table. What you need to do is use
the on afterpost event to update the real table/tables.

Roy Lambert
Tue, Jul 24 2007 12:03 PMPermanent Link

"Robert"

"Peter van Mierlo" <p.mierlo@planet.nl> wrote in message
news:E4EEFA29-6D90-4017-8224-0639CCAE853D@news.elevatesoft.com...
> hi,
>
> does that mean the i always have to use the combination of a :
> TDBisamTable and TDBisamQuery and TDatasource or how
> do i need to do this update of the real tables...

Read the documentation link I posted, should give you the basic info. You
only need a query, but you

a) have to specify that you want a "live result", so that all updates to the
query get posted to the underlying disk table and
b) you can have no joins, and your "order by" has to correspond to an actual
physical index.

IOW, there is very little difference between a live query and a ttable. You
can use either one.

Robert

Tue, Jul 24 2007 1:51 PMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Peter


>.....it's a little bit
>confusued because it works a little bit different as mysql and
>his components because there you can do all the things you
>need directly on a query component

There will be a LOT of things that work differently to mysql Smiley

You can try Robert's approach, but if you don't need JOIN's there was probably no need to move from tables to queries.

>does that mean the i always have to use the combination of a :
>TDBisamTable and TDBisamQuery and TDatasource or how
>do i need to do this update of the real tables

No you can use another query Smiley Essentially the afterpost event fires and you pick up the data from the row you've just changed and can then use either a query UPDATE or a table.Edit to get the data back into the real table. If you've used a JOIN its up to you to figure out which bit of data goes where.

There are quite a few of this sort of post in the newsgroups, everyone's needs are a bit different, and without a lot more info its pretty near impossible to give more guidance.

Roy Lambert
Tue, Jul 24 2007 2:32 PMPermanent Link

Dave Harrison
Roy Lambert wrote:

> Peter
>
> There will be a LOT of things that work differently to mysql Smiley
>
> You can try Robert's approach, but if you don't need JOIN's there was probably no need to move from tables to queries.

Here is one more reason to use a query. If you need to sort on a
non-indexed column, then you need to use a query (which will be static).

Dave
Image