>*================================================================================ >* Class wwbusiness of D:\WORK\LM_3\WW\CLASSES\WWBUSINESS.VCX > >Procedure wwbusiness.Query >LPARAMETERS lcSelect, lcCursor, lnResultmode >LOCAL lnResult > >lcSelect=IIF(EMPTY(lcSelect),THIS.cSQL,lcSelect) >lcCursor=IIF(EMPTY(lcCursor),THIS.cSQLCursor,lcCursor) >lnResultmode=IIF(EMPTY(lnResultmode),THIS.nResultmode,lnResultmode) > >THIS.seterror() > >IF !THIS.OPEN() > RETURN 0 >ENDIF > >IF EMPTY( lcSelect ) OR NOT VARTYPE( lcSelect ) = "C" > lcSelect = THIS.cSQL >ENDIF >IF EMPTY( lcSelect ) > ** We get everything... > lcSelect = "*" >ENDIF >IF ATC(" FROM",lcSelect) = 0 > IF THIS.nDataMode = 0 > lcSelect = lcSelect + " FROM '" + ALLTRIM(THIS.cDataPath + THIS.cFileName) + "' " > ELSE > lcSelect = lcSelect + " FROM " + ALLTRIM(THIS.cFileName) + " " > ENDIF > *{lcSelect = "SELECT FROM " + Alltrim(THIS.cMasterTable) + " " + Subs(lcSelect,At(" ",lcSelect)+1) >ENDIF >IF NOT UPPER(lcSelect) = "SELECT " > lcSelect = "SELECT " + lcSelect >ENDIF > >THIS.cSQL = lcSelect > >*** Run the SQL Statement >DO CASE > CASE THIS.nDataMode = 0 > IF ATC(" INTO",lcSelect) = 0 > lcSelect = lcSelect + " INTO CURSOR " + lcCursor > ENDIF > > &lcSelect > > IF !USED(lcCursor) > RETURN 0 > ELSE > lnResult = _TALLY > ENDIF > CASE THIS.nDataMode = 2 > lcOldCursor = THIS.oSQL.cSQLCursor > THIS.osql.cSQLCursor = lcCursor > lnResult = THIS.osql.Execute(lcSelect) > IF lnResult < 0 > THIS.seterror(THIS.osql.cErrorMsg) > RETURN 0 > ENDIF > > THIS.oSQL.cSQLCursor = lcOldCursor > > lnResult = RECCOUNT() > CASE THIS.nDataMode = 4 > lcOldCursor = THIS.oHTTPSQL.cSQLCursor > THIS.oHTTPsql.cSQLCursor = lcCursor > lnResult = THIS.oHTTPsql.Execute(lcSelect) > IF lnResult < 0 > THIS.seterror(THIS.oHTTPsql.cErrorMsg) > RETURN 0 > ENDIF > > THIS.oHTTPSQL.cSQLCursor = lcOldCursor >ENDCASE > >*** Convert data if necessary >IF lnResultmode # 0 > THIS.ConvertData(lnResultmode,,lcCursor) > USE IN (lcCursor) >ENDIF > >RETURN lnResult > >EndProc > > >>