Currently they are using a VFP client app, the actual program is not installed.

I just discovered that the suggestion you offered (about a key table) is being used by this client.

Would the sys() function work through ODBC w/o the full VFP install?

How do I lock the database through PHP and ODBC for a moment?? I cannot find any information on this.

Thanks for your help.

PJC Services

At 03:13 PM 2/3/2003, you wrote:

There's an alternate route, but I've used it only over a network, not across the internet.

Create a keys table which has two fields - tablename and keyvalue.

Create a Get_VFP_Key function with one parameter, the tablename, which returns the keyvalue for that table name.

Get_VFP_Key gets a lock on the row containing the tablename, grabs the value, increments it according to whatever scheme you are using, writes the new value and releases the lock. A friend of mine used the ascii table and generated base 256 keys, rather an exceptional fellow.

The problem I see here is latency and a locking problem.

Alternately, if the machine you are hitting is running VFP, why not use its native sys(2015) (or 2017 - can't remember just now) to generate a random key.

HTH - Miles Thompson

BTW Character-based primary keys are quite common in the VFP world because FoxPro did not cleanly handle a mix of numeric and character fields in the WHERE portion of a SELECT. It wanted all character values, so don't be too hard on the morons.

How are they handling the generation of primary keys?

At 09:43 AM 2/3/2003 -0500, Brian Evans wrote:
Good day all,

I have just began work on a project to let users subscribe to a service and place orders into a database that is VFP 6 based.

Using PHP4, I am able to interface with their program (that also uses ODBC locally) in all aspects (INSERT, UPDATE, DELETE, and SELECT).

My worries come when inserting a new user/order from the web.

The morons who designed the database made the Primary Key as character and NULLable (once only of course), but I have to deal with that.

My question is this...

How can I know the new user I INSERT will be unique? (the field is character, but counts like a number field) This especially holds true since I have to deal with local users possibly adding at the exact same moment as PHP (ie. a racing issue).

Can anyone tell me how to avoid problems?

Would odbc_prepare() reserve a new key for me?


PJC Services

P.S. Kudos to all of the developers. This is a great job you guys are doing.

PHP Database Mailing List (
To unsubscribe, visit:

Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (
Version: 6.0.449 / Virus Database: 251 - Release Date: 1/27/2003

PHP Database Mailing List (
To unsubscribe, visit:

Reply via email to