我这里没有 SQL Server,凭记忆应该这样的:
csql = [ driver=sql server;server=]+cServer+[;uid=]+cUid+[;pwd=]+cPwd+[;database=]+cdbs
sqlHandler = Sqlstringconnect(csql)
Local lcQuery, lnRes
lcQuery = "select bh,fyqj,df,sf,hj,sjh from wy_sdb where fyqj>='2016-01-01'"
SQLSetprop(sqlHandler, "Asynchronous" , .T.)
lnRes = SQLExec(sqlHandler, lcQuery, "tResult")
lnPoint = 0
Do While lnRes == 0
lnPoint = lnPoint + 1
If lnPoint > 20 && 根据你的记录数的多少,刻度、步长自己调整
lnPoint = 1
Endif
Wait Window Replicate(".", lnPoint) Nowait && 刷新过程条
lnRes = SQLExec(sqlHandler) && 取异步已经下回来的记录数
EndDo
If lnRes < 0
Aerror(laError)
Messagebox(laError[1, 2])
Endif
SQLSetprop(sqlHandler, "Asynchronous", .F.)
如果要有总刻度,先同步方式获取总记录数:lnReccount;
如果需要漂亮的过程条,这个程序量太大了,下次再说吧,可好?
至于内网可以联,外网联不上,你提供的信息量太少,不好猜。
帮不上忙,我很惭愧。我还要继续努力。
csql = [ driver=sql server;server=]+cServer+[;uid=]+cUid+[;pwd=]+cPwd+[;database=]+cdbs
sqlHandler = Sqlstringconnect(csql)
Local lcQuery, lnRes
lcQuery = "select bh,fyqj,df,sf,hj,sjh from wy_sdb where fyqj>='2016-01-01'"
SQLSetprop(sqlHandler, "Asynchronous" , .T.)
lnRes = SQLExec(sqlHandler, lcQuery, "tResult")
lnPoint = 0
Do While lnRes == 0
lnPoint = lnPoint + 1
If lnPoint > 20 && 根据你的记录数的多少,刻度、步长自己调整
lnPoint = 1
Endif
Wait Window Replicate(".", lnPoint) Nowait && 刷新过程条
lnRes = SQLExec(sqlHandler) && 取异步已经下回来的记录数
EndDo
If lnRes < 0
Aerror(laError)
Messagebox(laError[1, 2])
Endif
SQLSetprop(sqlHandler, "Asynchronous", .F.)
如果要有总刻度,先同步方式获取总记录数:lnReccount;
如果需要漂亮的过程条,这个程序量太大了,下次再说吧,可好?
至于内网可以联,外网联不上,你提供的信息量太少,不好猜。
帮不上忙,我很惭愧。我还要继续努力。
民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞