Database readwrite and read only detection

Database readwrite and read only detection

Postby Gilbert » Wed Nov 01, 2006 11:33 pm

Hi all,


I would like to know if any of you has a way of detecting if a database has been opened in readwrite or readonly mode.

In Clipper 5.3 there is a function called dbInfo() which allows to detect retreive multiple information from an opened database, but could not find anything that would retreive this information.

Also have another situation where I need to retreive either the number of opened index or a list of opened index of an area. This can be known if using OrderBag, but for technical reasons (interfacing with an external application) I must open each index individually. Since I don`t want to keep track of how many indexes have been opened or closed while processing, I`m looking for a function that could evaluate the opened indexes when needed.

Regards, :!:
Gilbert Vaillancourt
turbolog@videotron.ca
Gilbert
 
Posts: 74
Joined: Thu Oct 20, 2005 4:30 pm
Location: Canada

Re: Database readwrite and read only detection

Postby Badara Thiam » Thu Nov 02, 2006 9:41 pm

Bonjour Gilbert,

Gilbert wrote:I`m looking for a function that could evaluate the opened indexes when needed.


Voici une fonction 100 % opérationnelle !


Code: Select all  Expand view  RUN
*******************
FUNCTION INDEXACTIF()
*******************
* Creation le 10/09/1998
* Auteur Badara Thiam
* Retourne les index actifs dans la base de données courante,
* sous forme d'un tableau dont chaque élément est un index
LOCAL TT := { {}, 1, NIL }
DO WHILE .T.
  TT[3] := ORDNAME(TT[2], ORDBAGNAME(TT[2]))
  IF TT[3] != ""
    AADD(TT[1], TT[3])
    TT[2] ++
  ELSE
    EXIT
  ENDIF
ENDDO
RETURN ACLONE(TT[1])


Regards, :lol: :wink:
Badara Thiam
http://www.icim.fr
User avatar
Badara Thiam
 
Posts: 160
Joined: Tue Oct 18, 2005 10:21 am
Location: France

Postby Gilbert » Fri Nov 03, 2006 1:27 am

Bonjour Badara,


Merci, je teste ca immédiatement et je t`en donnes des nouvelles.




8)
Gilbert Vaillancourt
turbolog@videotron.ca
Gilbert
 
Posts: 74
Joined: Thu Oct 20, 2005 4:30 pm
Location: Canada

Postby Gilbert » Fri Nov 03, 2006 2:36 am

Bonjour Badara,


Je te remercie pour le petit truc. Ca fonctionne à merveille avec les index multiples .CDX, par contre j`ai aussi besoin de faire la même chose avec des index indépendants. C`est à dire plusieurs .CDX ouvert individuellement.

Grace à ton truc j`ai réussi à faire les deux. Il fallait y penser et ton truc ma mis sur la piste. Voici le code:

local cOrders
local nOrders := 0

do while .T.
cOrders := OrdBagName(nOrders +1)
if cOrder == ``
exit
endif
++nOrders
enddo

Et voilà, le tour est joué.

Merci :D

[/code]
Gilbert Vaillancourt
turbolog@videotron.ca
Gilbert
 
Posts: 74
Joined: Thu Oct 20, 2005 4:30 pm
Location: Canada


Return to FiveWin for CA-Clipper

Who is online

Users browsing this forum: No registered users and 11 guests