📄 testprogress1.prg
字号:
*!* 设置环境级的SQL设置
=SQLSETPROP(0,"DispWarnings",.F.) &&不提示错误信息
=SQLSETPROP(0,"DispLogin",3) &&不显示ODBC登录框
=SQLSETPROP(0,"QueryTimeOut",10) &&错误等待时间
=SQLSETPROP(0,"ConnectTimeOut",10 ) &&连接等待时间
=SQLSETPROP(0,"Asynchronous",.F.) &&结果集同步返回
=SQLSETPROP(0,"BatchMode",.T.) &&一次返回全部结果集合
=SQLSETPROP(0,"Transactions",1) &&自动事务处理
lnTotleFetchRec=0
nHandle=SQLSTRINGCONNECT("Driver=SQL Server;Server=CCB-ZHJNOTEBOOK;UID=sa;PWD=;Database=Northwind")
_SCREEN.Connecthandle=nHandle
?nHandle
IF USED("curorders")
USE IN curorders
ENDIF
n=SECONDS()
IF nHandle>0
IF SQLGETPROP(nHandle,"ConnectBusy") &&检测连接是否忙碌
=MESSAGEBOX("连接忙碌,请稍候再试!",0+48,"提示")
RETURN
ELSE
*!* 取得要执行的查询可以返回的记录总数
nRecordNumber=0
cSQLString='EXECUTE p_getrecordnumber "Orders"," ",?@nRecordNumber'
?nRecordNumber
* WAIT WINDOW cSQLString
=SQLSETPROP(nHandle,"Asynchronous",.F.) &&设置为同步连接
IF SQLEXEC(nHandle,cSQLString)<=0 &&执行成功
=MESSAGEBOX("获取记录数目失败!",0+48,"提示")
RETURN
ENDIF
=ShowProgress(nRecordNumber) &&显示工具栏中的进度条
=SQLSETPROP(nHandle,"Asynchronous",.T.) &&设置为异步连接
_SCREEN.SQLString="SELECT * FROM orders "
_SCREEN.ExecMethodAfterSQL="brow nowait"
_SCREEN.CursorName="curorders"
_SCREEN.TotleFetchRec=0
=CURSORSETPROP("FetchAsNeeded",.F.,0)
=CURSORSETPROP("FetchSize",100,0)
IF USED("curorders") &&关闭表,重新读取
USE IN curorders
* Thisform.SetGrid()
ENDIF
*=SQLEXEC(nHandle,_SCREEN.SQLString,"curorders")
oProgressBar.cntProg.tmrRefreshProg.Enabled=.T.
ENDIF
ENDIF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -