Regarding AddNew, the other reply has already answered your Q. In addition, Update is really an option, it will fire automatically if you add another record or move the record pointer.
>We're using sql="insert..." and conn.Execute sql. This creates a key field value by using the key field's default call to a stored proc. So it seems to be multiuser safe.
>The rub is, if I had to retrieve that record in ASP, I can't since its key is generated by VFP on the back-end, and is not known to the ASP script. If another user inserts a record before I execute "select Max(id)...", I would get his record instead.
>The good news is that we don't have to retrieve the record to finish it since the whole record is inserted at once, and doesn't require an update to put in some of the fields.
>Referring to the MSKB sample you mentioned, it seems to require rs.AddNew and rs.Update. Is the Update guarranteed to occur on the record created by AddNew? Or do I need to find a way to select the record I just added in order to perform the update?
>This may be more an ASP/ADO question, except that VFP's ODBC seems to require a work-around to save large strings to a memo field.
>
>
>
>>If you have text on this memo field and it's not unwieldly big ADO should be able to handle it with one of the varchar data types. If it's big then you might need the GetChunck method or even the ADO Stream object.
>>
>>If you need a VFP cursor, (and your field is not too big) you can use a utility I posted to the UT downloads:
http://www.levelextreme.com/wconnect/wc.dll?FournierTransformation~2,54,Forum=5,28,1454 . It's a recordset to cursor conversion utility based on ADO's GetRows method.
>>HTH
>>