Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
SQL Pass Through Problem
Message
From
31/10/2005 11:40:18
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
01063586
Message ID:
01063651
Views:
9
Yep I noticed that after I replied and already updated my previous reply.
1) Execute SQLExec where you have those variables (in procedure you sent).
2) Pass the variables to the procedure which executes the code. Since you'd need multiple parameters probably you'd want to create a single object and pass it instead. ie:

oParms = createobject('Empty')
Addproperty(oParms,'tDateTime',datetime())
...

* And change your string to read
... values (?oParms.tDateTime, ...)

3) You might create an updatable SPT to fill in the fields and update.
4) Worst case build the string with values.
Cetin



>Ok, I see what is happening.
>
>As Aergey pointed out, the parameter values are dropping out of scope
>when the call to ._oSQLProcs.SQLCommand(sSqlCommand) happens.
>
>I'm open to suggesstions on the best way to do this.
>
>
>
>
>
>>See my previous reply (and previous of previous ...). Include the alias prefix:
>>
>>(?m.tDateTime
>>not
>>(?tDateTime
>>
>>PS: Wait a min. You're calling another procedure to execute the command. Do the varables are still in scope there???
>>Cetin
>>
>>>Here is the code for the entire function. All paramter variables being passed
>>>to SQL contained values when I ran it.
>>>
>>>
>>>PROCEDURE HandleError(sAppName AS String, iErrNo AS Integer,;
>>>                      sErrMessage AS String, sLineOfCode AS String,;
>>>	              sProgram AS String, iLineNo AS int, sStack AS String)
>>>	
>>>  LOCAL iRetVal, sDateTime, sErrNo, sLineNo, sUserId, sMemory, sStatus
>>>  LOCAL sSqlCommand
>>>
>>>  iRetVal = TRUE
>>>
>>>  WITH This
>>>		
>>>    ** Setup the connection
>>>    IF .Setup()
>>>
>>>      tDateTime = DATETIME()
>>>      sUserId   = UPPER(ALLTRIM(SUBSTR(SYS(0), AT("#", SYS(0))+1)))
>>>
>>>      TEXT TO sSqlCommand NOSHOW
>>>
>>>        insert into syserrors
>>>	  (datetime, error, line, message, codeline, program,
>>>	   [user], appname)
>>>	values
>>>	  (?tDateTime, ?iErrNo , ?iLineNo, ?sErrMessage, ?sLineOfCode,
>>>           ?sProgram, ?sUserId, ?sAppName)
>>>
>>>      ENDTEXT
>>>
>>>      ** Run the insert command
>>>      ._oSQLProcs.SQLCommand(sSqlCommand)
>>>
>>>      ** Check for and handle any errors that occured
>>>      ._CheckForSQLError()
>>>
>>>    ENDIF
>>>		
>>>  ENDWITH
>>>	
>>>RETURN
>>>	
>>>ENDPROC
>>>
>>>
>>>
>>>
>>>
>>>>Are you sure? I didn't see all in code. It asks for those missing only. Please do not forget to prefix with m. or alias,object name (if from a cursor, object).
>>>>Cetin
>>>>
>>>>>All variables are filled in already. I'm getting prompted for
>>>>>parameter values.
>>>>>
>>>>>
>>>>>>Great they already are coming as parameters:)
>>>>>>Fill in those that aren't passed as parameters before call to SQLExec().
>>>>>>
>>>>>>PROCEDURE HandleError(sAppName AS String, iErrNo AS Integer,;
>>>>>>                      sErrMessage AS String, sLineOfCode AS String,;
>>>>>>	              sProgram AS String, iLineNo AS int, sStack AS String)
>>>>>>TEXT TO sSqlCommand NOSHOW
>>>>>>  insert into syserrors
>>>>>>  (datetime, error, line, message, codeline, program,
>>>>>>  [user], appname, memory, status, callstack)
>>>>>>  values
>>>>>>  (?m.tDateTime, ?m.iErrNo , ?m.iLineNo, ?m.sErrMessage, ?m.sLineOfCode, ?m.sProgram,
>>>>>>   ?m.sUserId, ?m.sAppName, ?sMemory, ?sStatus, ?sStack)
>>>>>>ENDTEXT
>>>>>>tDateTime = datetime() && Any valid VFP date/datetime expression
>>>>>>sUserId = 'whoever'
>>>>>>sMemory = 'whatever'
>>>>>>sStatus = 'yourstatus'
>>>>>>SQLExec(...)
>>>>>>
Cetin
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform