Connection Handle From VFP to SQL

Hi,

I'm developing a client-side application on FoxPro with a back-end on SQL Express 2005. After many search and try, I have not find the perfect solution to my problem.

When my application start, I try to establish the connection with the SQL server based on a .ini file. No problem with this. If the connection is not made, I display a warning but It let the application start anyway because the problem could be not on the client side but can be on the server side.

My problem:

I would like to have a bullet proof Procedure, to test maybe with a timer (10 mins) , the connection state of the SQL connection between the Client Application and the server.

Even if the Handle is not valid!

Because, I see two possibility with the Handle.

First, the handle was correctly initialized and the connection was lost after the application was started. In this case, I use a SQLEXEC to grab some test data  just to check if the result of the query is higher that 0.

Second, the handle was not initialize at the startup due to a connection problem. In this case, the handle is not valid...

How can I manage to deal with invalid handle...

In other word, I don't want to make a SQLConnect() to see the result each time that I want to check the connection state.... And If I use a SQLEXEC() with an invalid handle, I got error...

Thanks in advance,

Zirck
ZirckAsked:
Who is Participating?
 
pcelbaCommented:
To test this situation you may use TRY ... CATCH:

llSuccess = .F.

TRY
  lnResult = SQLEXEC(lnHandle, "SELECT * FROM YourTestTable", "cTable")
  IF lnResult < 0
    *-- Process SQL error
  ELSE
    llSuccess = .T.
  ENDIF
CATCH TO loException
  *-- Process Invalid handle exception here
ENDTRY

IF !llSuccess
  *-- ...
ENDIF

0
 
ZirckAuthor Commented:
Excellent!!

Works perfect. I can manage both case with this!!

Thank you!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.