回复 7楼 plsword
CheckCon.prg 代码如下:
程序代码:
* [color=#808080]====================================================[/color]
* 功能: 检查连接句柄是否有效,无效时重新连接
* 参数: tnCon 连接句柄(实参)
* 返回: .t.[color=#808080]/.f. 成功/失败[/color]
* [color=#808080]====================================================[/color]
LPARAMETERS tnCon
* 检查连接是否有效
LOCAL nSqlState
IF TYPE('tnCon') # 'N' OR tnCon <= 0
nSqlState = -1
ELSE
TRY
nSqlState = SQLEXEC(tnCon,"")
CATCH
nSqlState = -1
ENDTRY
ENDIF
* 重建连接
IF nSqlState < 0
LOCAL cSQL_Name,cSQL_Uid,cSQL_Pwd,cSQL_DB,cConStr
cSQL_Name = '10.194.1.5' && 服务器地址
cSQL_Uid = 'sa' && 用户名
cSQL_Pwd = 'phoenix' && 密码
cSQL_DB = 'cpbj' && 数据库
cConStr = "DRIVER=SQL Server;SERVER=" +cSQL_Name +';UID=' +cSQL_Uid +';PWD=' +cSQL_Pwd +';DATABASE=' +cSQL_DB
tnCon = SQLSTRINGCONNECT(cConStr)
IF tnCon < 0
MESSAGEBOX('与 SQL Server 数据库连接失败!',16,'提示')
ENDIF
ENDIF
* 返回成功标记
RETURN (tnCon>0)
调用示例:
nCon = 0
cSql = 'select * from table1'
IF !CheckCon(@nCon) OR SQLEXEC(nCon,cSql,'curRet') < 0
MESSAGEBOX('从服务器读取数据失败!',16,'提示')
RETURN
ENDIF