Subject | Re: [IBO] record is unvisible in grid after inserting |
---|---|
Author | Helen Borrie |
Post date | 2003-09-21T09:50:56Z |
At 09:12 AM 21/09/2003 +0000, you wrote:
commit. It's fine in a read-only dataset because it conveys the uniqueness
that is needed to move about inside the fetched data. The problem for an
inserted row is that, in the buffer, it has no db_key (because it wasn't
selected in the set) and so cannot be relocated with a WHERE clause
following the commit.
the column values that, together, make that row unique. Not having proper
KeyLinks makes inserted rows impossible to find. In order to search, IBO
needs to construct a WHERE clause like
where cola = :cola and colb = :colb
It gets the column names and their values from the KeyLinks.
If you are able to make a unique index on the table, then why don't you do
the thing the proper way and make a primary key? You are dealing with a
relational database here, not a spreadsheet...keys bind relationships.
Helen
>Dear Helen,No, because the db_key cannot be used to find an inserted row for a
>
>Thank You for your help.
>If I add a unique index then i can see inserted rows.
>
>But please imagine it:
>- there is no primary key.
>- there is no need to define unique rows.
> ( as logic, i understand that IBO needs )
>- I selected KeyLinksAutoDefine (checked), but KeyLinks area is empty
>on Query screen.
>- There is an DB_KEY column (added by IBO to the table structure)
>
>I think: if the (KeyLinksAutoDefine is true) and ( the table has
>DB_KEY column) then it sould be work.
>
>But not!
commit. It's fine in a read-only dataset because it conveys the uniqueness
that is needed to move about inside the fetched data. The problem for an
inserted row is that, in the buffer, it has no db_key (because it wasn't
selected in the set) and so cannot be relocated with a WHERE clause
following the commit.
>Where is my fault?Understand that a search for *one specific row* depends on knowing all of
the column values that, together, make that row unique. Not having proper
KeyLinks makes inserted rows impossible to find. In order to search, IBO
needs to construct a WHERE clause like
where cola = :cola and colb = :colb
It gets the column names and their values from the KeyLinks.
If you are able to make a unique index on the table, then why don't you do
the thing the proper way and make a primary key? You are dealing with a
relational database here, not a spreadsheet...keys bind relationships.
Helen