273 lines
7.8 KiB
Plaintext
273 lines
7.8 KiB
Plaintext
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
|
|
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
*< FOXBIN2PRG: Version="1.21" SourceFile="decabaza.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
|
*
|
|
*
|
|
DEFINE CLASS ca_baza AS _cabase OF "_ca_base.vcx"
|
|
*< CLASSDATA: Baseclass="cursoradapter" Timestamp="" Scale="Pixels" Uniqueid="" />
|
|
|
|
#INCLUDE "..\..\..\program files\microsoft visual foxpro 8\foxpro.h"
|
|
*<DefinedPropArrayMethod>
|
|
*m: afisare
|
|
*m: cfiltru_assign
|
|
*m: corder_assign
|
|
*p: cfiltru
|
|
*p: cfiltruoriginal
|
|
*p: cgroup
|
|
*p: corder
|
|
*p: cselect
|
|
*p: lafisare
|
|
*p: lmodparam
|
|
*</DefinedPropArrayMethod>
|
|
|
|
*<PropValue>
|
|
cfiltru =
|
|
cfiltruoriginal =
|
|
cgroup =
|
|
corder =
|
|
cselect =
|
|
Height = 22
|
|
lafisare = .T.
|
|
Name = "ca_baza"
|
|
Width = 23
|
|
*</PropValue>
|
|
|
|
PROCEDURE afisare
|
|
#Define CRLF Chr(13) + Chr(10)
|
|
Local llReconnect, lnHandle, lnSucces, llSucces, lnEroare1, lnEroare2, lcTextEroare, llEroare
|
|
Local laEroare2[1], lcCursor, lcErrorHTTP, lcLog, lcLunaHTTP, lcProgram, lcTempCursor, lcUserName
|
|
Local lnRaspuns
|
|
|
|
Local laEroare
|
|
llSucces = .F.
|
|
|
|
If This.lmodparam
|
|
&& selectcmd nu are inclus where
|
|
This.SelectCmd = This.cSelect
|
|
Else
|
|
This.SelectCmd = Left(Upper(This.SelectCmd), At('WHERE', Upper(This.SelectCmd)) - 1)
|
|
Endif
|
|
|
|
If !Empty(This.cFiltru) Or !Empty(This.cFiltruoriginal)
|
|
This.SelectCmd = This.SelectCmd + ' WHERE '
|
|
Else
|
|
This.SelectCmd = This.SelectCmd + ' '
|
|
Endif
|
|
|
|
This.SelectCmd = This.SelectCmd + Alltrim(This.cFiltru)
|
|
|
|
If !Empty(This.cFiltru) And !Empty(This.cFiltruoriginal)
|
|
This.SelectCmd = This.SelectCmd + [ AND (]
|
|
Else
|
|
This.SelectCmd = This.SelectCmd + [ ]
|
|
Endif
|
|
|
|
This.SelectCmd = This.SelectCmd + Alltrim(This.cFiltruoriginal)
|
|
|
|
If !Empty(This.cFiltru) And !Empty(This.cFiltruoriginal)
|
|
This.SelectCmd = This.SelectCmd + [) ]
|
|
Else
|
|
This.SelectCmd = This.SelectCmd + [ ]
|
|
Endif
|
|
|
|
This.SelectCmd = This.SelectCmd + Iif(!Empty(This.cgroup), " GROUP BY " + This.cgroup, " ") + Iif(!Empty(This.cOrder), ' ORDER BY ' + This.cOrder, ' ')
|
|
|
|
*!* ELSE
|
|
*!* THIS.SELECTCMD = LEFT(UPPER(THIS.SELECTCMD),AT('WHERE',UPPER(THIS.SELECTCMD))+LEN('WHERE')-1)+;
|
|
*!* SPACE(1)+THIS.CFiltru+IIF(!EMPTY(THIS.cgroup),SPACE(1)+"GROUP BY "+this.cgroup,"")+IIF(!EMPTY(THIS.CORder),SPACE(1)+'ORDER BY'+SPACE(1)+THIS.CORder,'')
|
|
*!* ENDIF
|
|
|
|
|
|
|
|
|
|
Do While .T.
|
|
If Type('goLog') = 'O'
|
|
goLog.Log(This.SelectCmd, Program())
|
|
Endif
|
|
lcCursor = This.Alias
|
|
If Used (lcCursor)
|
|
Use In (lcCursor)
|
|
Endif
|
|
This.CursorAttach(lcCursor)
|
|
|
|
|
|
If !Empty(This.CursorSchema)
|
|
llSucces = This.CursorFill(.T.)
|
|
Else
|
|
llSucces = This.CursorFill()
|
|
Endif
|
|
|
|
|
|
If Used(lcCursor) And llSucces
|
|
This.CursorDetach
|
|
|
|
lcTempCursor = Sys(2015)
|
|
Use Dbf(lcCursor) In 0 Again Shared Alias (lcTempCursor)
|
|
Use In (lcCursor)
|
|
Use Dbf(lcTempCursor) In 0 Again Alias (lcCursor)
|
|
Use In (lcTempCursor)
|
|
|
|
Exit
|
|
Endif
|
|
|
|
If !llSucces
|
|
|
|
Release laEroare
|
|
Declare laEroare(1)
|
|
|
|
Aerror(laEroare)
|
|
If Alen(laEroare) > 1
|
|
lnEroare1 = laEroare[1]
|
|
lnEroare2 = laEroare[5]
|
|
lcTextEroare = laEroare[3]
|
|
lnHandle = laEroare[6]
|
|
llEroare = .T.
|
|
|
|
If Type('goMyXMLHTTP') = 'O'
|
|
lcLunaHTTP = Iif(Type('gnLuna') = 'N', Transform(gnLuna) + "/", "") + Iif(Type('GNAN') = 'N', Transform(gnAn), "")
|
|
lcErrorHTTP = Sys(0) + ":" + Iif(Type('GCS') = 'C', " " + GCS, "") + ": " + lcLunaHTTP + ;
|
|
CRLF + Alltrim(Str(lnEroare1)) + ' ' + Transform(laEroare[3]) + CRLF + Transform(This.SelectCmd) + CRLF + ;
|
|
TRANSFORM(This.CursorSchema) + CRLF + CRLF + GETCALLSTACK()
|
|
|
|
lcUserName = gcUserNameApp
|
|
lcProgram = Juststem(Sys(16, 0))
|
|
goMyXMLHTTP.postError(lcErrorHTTP, lcUserName, lcProgram)
|
|
Endif
|
|
|
|
If lnEroare1 <> 1526 && eroare <> ODBC
|
|
lcTextEroare = Program() + CRLF + Alltrim(Str(lnEroare1)) + CRLF + laEroare[2] + CRLF + This.SelectCmd + CRLF + CRLF + This.CursorSchema + CRLF + CRLF + GETCALLSTACK()
|
|
If Type('goLog') = 'O'
|
|
goLog.Log(lcTextEroare, Program())
|
|
Endif
|
|
AMessagebox(lcTextEroare, 0, "Eroare")
|
|
Quit
|
|
Retry
|
|
Endif
|
|
*!* IF lnHandle <> gnHandle && daca mesajul de eroare provine de la alta conexiune => nu s-a intamplat nici o eroare
|
|
*!* EXIT
|
|
*!* ENDIF
|
|
|
|
If Inlist(lnEroare2, 12152, 3113, 3114, 12560, 4068, 28, 12) && 12512 = TNS: UNABLE TO SEND BREAK MESSAGE; 3114 = NOT CONNECTED TO ORACLE; 12560 = PROTOCOL ADAPTER ERROR
|
|
If Type('goLog') = 'O'
|
|
lcLog = laEroare(3) + CRLF
|
|
goLog.Log(lcLog, Program())
|
|
Endif
|
|
|
|
Do While .T.
|
|
lnRaspuns = AMessagebox('Eroare de conectare.' + CRLF + lcTextEroare + CRLF + 'Doriti reconectare?', 4 + 32, 'Eroare') && retry = 4; cancel = 2
|
|
If lnRaspuns = 6
|
|
|
|
*!* goConn.disconnect()
|
|
llReconnect = .T.
|
|
lnHandle = goConn.Connect(goConn.cHost, goConn.cUser, goConn.cPassword, llReconnect)
|
|
|
|
If lnHandle < 0
|
|
Declare laEroare2(1)
|
|
Aerror(laEroare2)
|
|
lcTextEroare = laEroare2(3)
|
|
Release laEroare2
|
|
Loop
|
|
Else
|
|
This.Parent.Datasource = lnHandle
|
|
Exit
|
|
Endif
|
|
Else
|
|
Quit
|
|
Retry
|
|
Endif && lnRaspuns = 6
|
|
Enddo && .T.
|
|
Loop && daca am iesit cu un handle valid intru din nou in loop si fac cursorfill
|
|
Else
|
|
lcTextEroare = Program() + CRLF + Alltrim(Str(lnEroare1)) + CRLF + laEroare[3] + CRLF + This.SelectCmd + CRLF + CRLF + This.CursorSchema + CRLF + CRLF + GETCALLSTACK()
|
|
lnRaspuns = AMessagebox(lcTextEroare, 0, 'Eroare') && ok = 0
|
|
If Type('goLog') = 'O'
|
|
goLog.Log(lcTextEroare, Program())
|
|
Endif
|
|
Quit
|
|
Retry
|
|
Endif
|
|
|
|
Else
|
|
Exit
|
|
Endif && INLIST(lnEroare2,12152,3114)
|
|
Endif && !llSucces
|
|
|
|
Enddo && .T.
|
|
Release laEroare
|
|
|
|
ENDPROC
|
|
|
|
PROCEDURE AutoOpen
|
|
*** Setup code: DO NOT REMOVE
|
|
if not pemstatus(This, '__VFPSetup', 5)
|
|
This.AddProperty('__VFPSetup', 1)
|
|
This.Init()
|
|
endif
|
|
*** End of Setup code: DO NOT REMOVE
|
|
|
|
ENDPROC
|
|
|
|
PROCEDURE cfiltru_assign
|
|
LPARAMETERS vNewVal
|
|
*To do: Modify this routine for the Assign method
|
|
THIS.cfiltru = m.vNewVal
|
|
|
|
IF this.lafisare
|
|
this.afisare()
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
PROCEDURE corder_assign
|
|
Lparameters vNewVal
|
|
*To do: Modify this routine for the Assign method
|
|
This.cOrder = m.vNewVal
|
|
|
|
IF this.lafisare
|
|
this.afisare()
|
|
ENDIF
|
|
|
|
|
|
ENDPROC
|
|
|
|
PROCEDURE Init
|
|
local llReturn
|
|
do case
|
|
case not pemstatus(This, '__VFPSetup', 5)
|
|
This.AddProperty('__VFPSetup', 0)
|
|
case This.__VFPSetup = 2
|
|
This.__VFPSetup = 0
|
|
return
|
|
endcase
|
|
llReturn = dodefault()
|
|
*** Setup code: DO NOT REMOVE
|
|
|
|
*** End of Setup code: DO NOT REMOVE
|
|
if This.__VFPSetup = 1
|
|
This.__VFPSetup = 2
|
|
endif
|
|
return llReturn
|
|
|
|
ENDPROC
|
|
|
|
ENDDEFINE
|
|
|
|
DEFINE CLASS deca_baza AS _debase OF "_de_base.vcx"
|
|
*< CLASSDATA: Baseclass="dataenvironment" Timestamp="" Scale="Pixels" Uniqueid="" />
|
|
|
|
#INCLUDE "c:\program files\microsoft visual foxpro 8\foxpro.h"
|
|
*<DefinedPropArrayMethod>
|
|
*p: ctexteroare
|
|
*p: leroare
|
|
*p: neroare
|
|
*</DefinedPropArrayMethod>
|
|
|
|
*<PropValue>
|
|
ctexteroare =
|
|
Name = "deca_baza"
|
|
neroare = 0
|
|
*</PropValue>
|
|
|
|
ENDDEFINE
|