* contrib/gtalleg/tests/hbmk.hbm
* contrib/hbmysql/utils/hbmk.hbm
* contrib/hbmysql/utils/dbf2mysq.prg
* contrib/hbmysql/tests/test.prg
* contrib/hbmysql/tests/hbmk.hbm
* contrib/hbct/tests/tab.prg
* contrib/hbct/tests/tokensep.prg
* contrib/hbct/tests/datetime.prg
* contrib/hbct/tests/hbmk.hbm
* contrib/hbct/tests/token2.prg
* contrib/hbct/tests/charhist.prg
* contrib/xhb/tests/hbmk.hbm
* contrib/hbodbc/tests/hbmk.hbm
* contrib/hbtpathy/tests/hbmk.hbm
* contrib/hbmzip/tests/hbmk.hbm
* contrib/hbsqlit3/tests/hbmk.hbm
* contrib/hbsqlit3/tests/authoriz.prg
* contrib/hbblat/tests/hbmk.hbm
* contrib/hbqt/tests/hbmk.hbm
* contrib/hbfbird/tests/simple.prg
* contrib/hbfbird/tests/test.prg
* contrib/hbfbird/tests/hbmk.hbm
* contrib/hbziparc/tests/hbmk.hbm
* contrib/hbxbp/tests/hbmk.hbm
* contrib/hbnf/tests/ftgete.prg
* contrib/hbnf/tests/hbmk.hbm
* contrib/hbcurl/tests/ftp_uldl.prg
* contrib/hbcurl/tests/hbmk.hbm
* contrib/hbmemio/tests/hbmk.hbm
* contrib/gtqtc/tests/demoqtc.prg
* contrib/gtqtc/tests/hbmk.hbm
* contrib/hbnetio/utils/hbmk.hbm
* contrib/hbnetio/tests/hbmk.hbm
* contrib/rddsql/tests/hbmk.hbm
* contrib/hbhpdf/tests/harupdf.prg
* contrib/hbhpdf/tests/hbmk.hbm
* contrib/rddado/tests/hbmk.hbm
* contrib/gtwvg/tests/hbmk.hbm
* contrib/hbpgsql/tests/async.prg
* contrib/hbpgsql/tests/test.prg
* contrib/hbpgsql/tests/hbmk.hbm
* contrib/hbpgsql/tests/cache.prg
* contrib/hbpgsql/tests/stress.prg
* contrib/hbpgsql/tests/dbf2pg.prg
* contrib/hbclipsm/tests/hbmk.hbm
* contrib/rddads/tests/datad.prg
* contrib/rddads/tests/hbmk.hbm
* contrib/rddads/tests/testmg.prg
* contrib/hbfimage/tests/fitest.prg
* contrib/hbfimage/tests/hbmk.hbm
* contrib/hbgd/tests/tostring.prg
* contrib/hbgd/tests/gdtestcl.prg
* contrib/hbgd/tests/gdtest.prg
* contrib/hbgd/tests/animgif.prg
* contrib/hbgd/tests/testdpi.prg
* contrib/hbgd/tests/hbmk.hbm
* contrib/hbgd/tests/counter.prg
* contrib/hbgd/tests/antialia.prg
* contrib/hbgd/tests/bartest.prg
* contrib/hbgd/tests/barms.prg
* contrib/hbgd/tests/test_out.prg
* contrib/hbmisc/tests/testhbf.prg
* contrib/hbmisc/tests/hbmk.hbm
* contrib/hbmisc/tests/twirl.prg
* contrib/hbtip/tests/dnldftp.prg
* contrib/hbtip/tests/upld_ftp.prg
* contrib/hbtip/tests/dbtohtml.prg
* contrib/hbtip/tests/hbmk.hbm
* contrib/hbwin/hbwin.h
* contrib/hbwin/hbwin.ch
* contrib/hbwin/tests/testsim.prg
* contrib/hbwin/tests/testole.prg
* contrib/hbwin/tests/testcom2.prg
* contrib/hbwin/win_com.c
* contrib/hbssl/tests/hbmk.hbm
* contrib/hbbtree/tests/hbmk.hbm
! Fixed warnings and errors in test apps.
+ Added -es2 option to test/util default options.
* Renamed few macros in hbwin / win_com implementation:
FCN* -> WIN_COM_FUN_*
WPDBG* -> WIN_COM_DBG_*
; TOFIX: Some errors are left in hbgd/test_out.prg and
gtwvg to be fixed, now the can't be built.
Please do it.
73 lines
1.8 KiB
Plaintext
73 lines
1.8 KiB
Plaintext
/*
|
|
* $Id$
|
|
*
|
|
* This sample show howto use asynchronous/nonblocking queries
|
|
*
|
|
*/
|
|
|
|
Function Main( cServer, cDatabase, cUser, cPass )
|
|
Local conn
|
|
|
|
CLEAR SCREEN
|
|
|
|
? "Connect", conn := PQConnect( cDatabase, cServer, cUser, cPass, 5432)
|
|
|
|
? "Conection status", PQerrorMessage(conn), PQstatus(conn)
|
|
|
|
Query( conn, 'SELECT codigo, descri FROM client limit 100', .f. )
|
|
Query( conn, 'SELECT codigo, descri FROM fornec limit 100', .f. )
|
|
Query( conn, 'SELECT pedido, vlrped FROM pedido', .t. )
|
|
|
|
PQclose(conn)
|
|
|
|
return nil
|
|
|
|
Procedure Query( conn, cQuery, lCancel )
|
|
Local pCancel, cErrMsg := space(30)
|
|
Local res, x, y, xTime
|
|
|
|
? "PQSendQuery", PQsendQuery(conn, cQuery)
|
|
|
|
xTime := time()
|
|
CLEAR TYPEAHEAD
|
|
|
|
do while inkey() != 27
|
|
DevPos(Row(), 20)
|
|
DevOut("Processing: " + Elaptime(xtime, time()))
|
|
|
|
inkey(1)
|
|
|
|
if lCancel
|
|
if .t.
|
|
pCancel := PQgetCancel(conn)
|
|
? "Canceled: ", PQcancel( pCancel, @cErrMsg ), cErrMsg
|
|
PQfreeCancel(pCancel)
|
|
|
|
else
|
|
? PQrequestCancel(conn) // Deprecated
|
|
endif
|
|
endif
|
|
|
|
if PQconsumeInput(conn)
|
|
if ! PQisBusy(conn)
|
|
exit
|
|
endif
|
|
endif
|
|
enddo
|
|
|
|
if inkey() != 27
|
|
? "PQgetResult", hb_valtoexp(res := PQgetResult(conn))
|
|
|
|
for x := 1 to PQlastrec(res)
|
|
?
|
|
for y := 1 to PQfcount(res)
|
|
?? PQgetvalue(res, x, y), " "
|
|
next
|
|
next
|
|
|
|
PQclear(res)
|
|
else
|
|
? "Canceling Query", PQrequestCancel(conn)
|
|
endif
|
|
Return
|