odbf:Seek( ckey )
do while odbf:keyfield == cKey .and. !odbf:eof()
aadd( aresultSet, { odbf:field1, odbf:field2 } )
odbf:skip()
enddo
cSql := "SELECT field1, field2 from table where keyfield = '" + cKey + "'"
aResultSet := ADSexecuteSQlDirect( cSql )
cSql := "SELECT field1, field2 from table where keyfield = '" + cKey + "'"
aResultSet := ADSexecuteSQlDirect( cSql )
aResultSet := ADSexecuteSQlDirect( cSql )
*-------------------------------------------------------------------------------------------------------------------------------
function ExecuteSQLScript( cScript, lShowProgress )
local cArea
local aStruc, i
local nCount := 1
local a := {}
local xTmp
local isGood := .f.
DEFAULT lShowProgress := .t.
if !empty( cScript )
AdsCacheOpenCursors( 0 )
DBSELECTAREA(0)
IF !ADSCreateSQLStatement("SQLarea", ADS_CDX ) //.or. !ADSVerifySQL( cScript )
TRY
SQLArea -> ( DBCLOSEAREA() )
END
MsgStop( "AdsCreateSqlStatement() failed with error "+ cValToChar( ADSGetLastError() ) )
logfile( "SQLError.log", { cScript } )
Else
if lShowProgress
MsgRun( "Running Script...", "Please Wait", { | oDlg | isGood := AdsExecuteSQLDirect( cScript, oDlg ) } )
else
isgood := ADSExecuteSQLDirect( cScript )
endif
if isgood
CursorWait()
TRY
cArea := "SQLarea"
aStruc := (cArea)->( dbStruct() )
a := array( (cArea)->( lastrec() ) )
while !(cArea)->( eof() )
a[ nCount ] := array( len( aStruc ) ) //{}
afill( a[nCount], " " )
for i := 1 to len( aStruc )
a[ nCount, i ]:= iif( ( xTmp := (cArea)->( fieldGet( i ) ) ) == Nil, Blank( aStruc[ i, DBS_TYPE] ), xTmp )
next i
nCount++
(cArea)->( dbSkip() )
End
END
Else
logfile( "SQLError.log", { cScript } )
ENDIF
CursorArrow()
aSize( a, nCount-1 )
AdsCacheOpenCursors( 0 )
AdsClrCallBack()
if Select( "sqlarea" ) > 0 ;SQLArea -> ( DBCLOSEAREA() ) ;endif
Endif
endif
Return a
Return to FiveWin for Harbour/xHarbour
Users browsing this forum: Google [Bot] and 73 guests