Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Updateable views and autoinc
Message
 
 
To
11/12/2006 16:38:07
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01176384
Message ID:
01188646
Views:
19
>>Fabio
>>What happens if i add a record in the view?
>
>The record is added to the view's buffer.
>
>>Will it look for the next number in the underlying table's autoinc field?
>
>not
>
>> If yes, i hope the autoinc number gets updated in the table. In this case, what happens then if i do a TableRevert?
>
>disregard.
>
>> If not, i then have to start numbering those id's in the view manually, and i will have collisions if people enter records directly in other screens in the underlying table while somebody is working on the view.
>
>This is, but any collision can happen.
>
>You have 3 cases:
>- first : at the client side the id is not necessary because none foreign key exists on the interface.
>you can set id = NULL
>
>- second : at the client side the id is necessary because some ( not implicit ) foreign key exists,
>but only once an id is used;
>on this case a id is necessary to maintain the interface's data structure.
>You can define a temporary id ( into the buffer ), this can to be a id that exists
>
>- third : at the client side the id is necessary because some ( not implicit ) foreign key exists,
>but others id are used;
>on this case a id is necessary to maintain the interface's data structure,
>but temporary id cannot to be an admissible id.
>You can define a temporary id ( into the buffer ), but this id has to be a not admissible value
>( for example a negative number, the solution chosen by the VFP Team for buffered recno() )
>
>At the end,
>TABLEUPDATE() disregard the temporary id and get the true ID from the autoinc field,
>TABLEREVERT() doesn't touch the table.
>
>Fabio

I was thinking about something like that, e.g. put, for example, a parent record negative recno() (since new records are added with negative recno if table buffering is in effect) into the child table and wait for the table update to replace child with the actual key, but it sounds quite complex.

Do you have better ideas?

Thanks in advance.
If it's not broken, fix it until it is.


My Blog
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform