>>>>>>>>Do the variables cNewFld1Val and cNewFld2Val have to be Private? I have them Local and they are in scope with the above command. But I am not getting results I expect. So, I thought maybe this is the problem.
>>>>>>>>Please let me know. Thanks.
>>>>>>>
>>>>>>>Yes, they need to be private.
>>>>>>
>>>>>>Even though the variable are declared and assigned right before the string cSqlUpdate is created?
>>>>>>How come I don't get an error?
>>>>>
>>>>>Undeclared variables are private by default.
>>>>
>>>>But I do have them declared as LOCAL
>>>
>>>Then you're doing sqlexec() in the same method/proc/function. Most folks delegate it to some other place, where they have centralized the call, error handling, logging etc. For those cases they have to be private so they are visible in the called code.
>>
>>Right, that's how I do. I set the necessary parameters, and call my DoSql method.
>
>I see. So, we do it differently. But as long as I do it "my" way, I can declare the variables as LOCAL.
Your way doesn't assist with debugging if something is amiss with the SQL
After years of agonizing and guessing, I wrote this:
PARAMETERS pc_ConnHandle
PRIVATE ll_return, ln_exec,la_error
ll_return = .T.
ln_exec = SQLEXEC(pc_ConnHandle)
IF ln_exec < 1
ll_return = .F.
WAIT WINDOW "SQL ERROR Has Occurred "
= AERROR(la_error)
WAIT WINDOW la_error(1,2)
ENDIF
RETURN ll_return
>Thank you.
>PS I may change my code later to have a "cenralized" function.
Anyone who does not go overboard- deserves to.
Malcolm Forbes, Sr.