//----------------------------------------------------------------------------//
FUNCTION SnimeniKonekcii() // Da se procitaat snimenite konekcii
LOCAL oRSet
LOCAL cSql := ""
cComboIzberiSnimenaKonekcija := "" // Da se resetiraat vrednostite ako se dodade ili izbrisi konekcija
nComboIzberiSnimenaKonekcija := 0
ASIZE( aSnimeniKonekcii, 0)
ASIZE( aComboSnimeniKonekcii, 0)
// cSql := "SELECT * FROM dbtools_sql ORDER BY group,name "
cSql := "SELECT id, name, driver, database, servername, hostname, protocol, service, logonid, password, key, owner "
cSql += "FROM dbtools_conn "
cSql += "WHERE TRIM(owner) = '" + ALLTRIM(sdLogonID) + "' "
cSql += "ORDER BY name "
TRY
CursorWait()
oRSet := TOleAuto():New( 'ADODB.RecordSet' )
WITH OBJECT oRSet
:ActiveConnection := oConnDefault // Konekciite se snimaat na default serverot
:Source := cSql
:CursorLocation := 3 // adUseClient
:Open()
END
CursorArrow()
CATCH oErr
FW_ShowAdoError( oRSet:ActiveConnection )
RETURN NIL
END TRY
// Prvo dodaj DEFAULT konekcija
AADD( aSnimeniKonekcii ,;
{ -1 ,; // ID -1 da ne dojde do problem vo dbtools_conn ...
"DEFAULT " ,;
sDriver ,;
sDataBAse ,;
sServerName ,;
sHostName ,;
sProtocol ,;
sService ,;
Encrypt( sdLogonID , sKey ) ,;
Encrypt( sdPassword, sKey ) ,;
sKey ,;
sdLogonID ;
} ;
)
AADD( aComboSnimeniKonekcii ,;
ALLTRIM( aSnimeniKonekcii[1][2] ) +;
" (" +;
ALLTRIM( aSnimeniKonekcii[1][4] ) +;
"@" +;
ALLTRIM( aSnimeniKonekcii[1][5] ) +;
")" +;
SPACE(200) +;
+STRZERO( aSnimeniKonekcii[1][1] ,7 ) ;
)
cComboIzberiSnimenaKonekcija := aComboSnimeniKonekcii[1] // Inicijalno DEFAULT konekcija
nComboIzberiSnimenaKonekcija := 1 // Sega DEFAULT konekcija e sekogas prva (1)
// Dodaj gi drugite konekcii
IF !EMPTY( oRSet:RecordCount ) // Vo sprotivno Znaci e 0
oRSet:MoveFirst()
DO WHILE !oRSet:Eof()
AADD( aSnimeniKonekcii, { oRSet:Fields("id"):Value ,;
oRSet:Fields("name"):Value ,;
oRSet:Fields("driver"):Value ,;
oRSet:Fields("database"):Value ,;
oRSet:Fields("servername"):Value ,;
oRSet:Fields("hostname"):Value ,;
oRSet:Fields("protocol"):Value ,;
oRSet:Fields("service"):Value ,;
oRSet:Fields("logonid"):Value ,;
oRSet:Fields("password"):Value ,;
oRSet:Fields("key"):Value ,;
oRSet:Fields("owner"):Value ;
} ;
)
AADD( aComboSnimeniKonekcii, ALLTRIM(oRSet:Fields("name"):Value)+" ("+ALLTRIM(oRSet:Fields("database"):Value)+"@"+ALLTRIM(oRSet:Fields("servername"):Value)+")"+SPACE(200)+STRZERO(oRSet:Fields("id"):Value,7) )
IF ALLTRIM( oRSet:Fields("name"):Value ) == "DEFAULT" .AND. ALLTRIM( oRSet:Fields("owner"):Value ) == ALLTRIM( sdLogonID ) // Detektiraj DEFAULT konekcija
cComboIzberiSnimenaKonekcija := ALLTRIM(oRSet:Fields("name"):Value)+" ("+ALLTRIM(oRSet:Fields("database"):Value)+"@"+ALLTRIM(oRSet:Fields("servername"):Value)+")"+SPACE(200)+STRZERO(oRSet:Fields("id"):Value,7)
nComboIzberiSnimenaKonekcija := LEN( aComboSnimeniKonekcii )
ENDIF
oRSet:MoveNext()
ENDDO
ENDIF
oRSet:Close()
RETURN NIL
//----------------------------------------------------------------------------//
FUNCTION ResetirajKonekcii() // Da se procitaat snimenite konekcii ... resetiranje posle dodavanje ili brisenje na konekcii
SnimeniKonekcii() // Ako se dodade ili izmeni da se refreshira
oComboIzberiSnimenaKonekcija:Reset()
oComboIzberiSnimenaKonekcija:SetItems( aComboSnimeniKonekcii )
oComboIzberiSnimenaKonekcija:Select( nComboIzberiSnimenaKonekcija ) // Se azurira vo SnimeniKonekcii()
cComboIzberiSnimenaKonekcija := aComboSnimeniKonekcii[ nComboIzberiSnimenaKonekcija ] // Inaku pri reset ostanuva prazno
oComboIzberiSnimenaKonekcija:Refresh()
SysRefresh()
RETURN NIL