THIS.nSQLResult = SQLExec(THIS.nSQLHandle,lcSQL,THIS.cSQLCursor) IF THIS.nSQLResult = -1 THIS.lError = .t. THIS.FillErrors() *** Try Reconnecting and re-executing request IF (THIS.nODBCErrorNo=14) AND ; THIS.Connect(THIS.cConnectString) THIS.nSQLResult = SQLExec(THIS.nSQLHandle,lcSQL,THIS.cSQLCursor) IF THIS.nSQLResult = -1 THIS.lError = .t. THIS.FillErrors() ELSE THIS.FillErrors("CLEAR") ENDIF ENDIF ELSE THIS.lError = .F. IF SQLCommit(THIS.nSQLHandle) = -1 THIS.lError = .T. THIS.FillErrors() ENDIF ENDIF RETURN THIS.nSQLResultThis is still a little preliminary - there are a few errors that can cause problems