Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Invalid Connection Handle in CA...
Message
De
30/05/2003 17:29:50
Peter Wagner
Point Informática Ltda.
Limeira, Brésil
 
 
À
Tous
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Titre:
Invalid Connection Handle in CA...
Divers
Thread ID:
00794772
Message ID:
00794772
Vues:
57
Problem With CA....
I have APP where I create an object (oODBC) and store a connection handle in a propertie called nID when I call a Form with a CA, in the CursorFill event it returns .F.
I capture the error with AERROR() and it return's me the error 1466 - connection handle supplied is invalid.
I cant understand this, its an handle of a SQLSTRINGCONNECT() function that is stored in the Prop. nID in oODBC

I made a test with a Form with the same CA, and in a prg created a connection and when I called the Form, it worked.
PUBLIC nID
cStringConnect =("DRIVER={SQL Server};SERVER=BOSS700;UID=sa;PWD=sa;DATABASE=Vitoria;Network=DBMSSOCN")
nID = SQLStringConnect(cStringConnect)
DO FORM ca_vitoria_teste
Does someone knows what im missing ?

Thanks in advance

Peter

Info about CA in the App Form
The CA is a subclass of a CA base class (Based on Mark's CABuilder)
Alias = ca_bancos
DataSourceType = ODBC
DataSource = oODBC.nID

AutoOpen Code
*** 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
Init Code
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() 
*** Select connection code: DO NOT REMOVE 
SET MULTILOCKS ON 
***<SelectCmd> 
TEXT TO This.SelectCmd NOSHOW
SELECT * FROM BANCOS  WHERE codigo_banco = ?pcodigo_banco
ENDTEXT
***</SelectCmd> 

***<DeleteCmd> 
TEXT TO This.DeleteCmd NOSHOW
EXECUTE SPA_DEL_BANCOS  ?ca_Bancos.codigo_banco
ENDTEXT
***</DeleteCmd> 

***<InsertCmd> 
TEXT TO This.InsertCmd NOSHOW
EXECUTE SPA_INS_BANCOS  ?ca_Bancos.BANCO,  ?ca_Bancos.NUM_BANCO,  ?ca_Bancos.AGENCIA,  ?ca_Bancos.CONTA_C,  ?ca_Bancos.APELIDO
ENDTEXT
***</InsertCmd> 

***<UpdateCmd> 
TEXT TO This.UpdateCmd NOSHOW
EXECUTE SPA_UPD_BANCOS  ?ca_Bancos.CODIGO_BANCO,  ?ca_Bancos.BANCO,  ?ca_Bancos.NUM_BANCO,  ?ca_Bancos.AGENCIA,  ?ca_Bancos.CONTA_C,  ?ca_Bancos.APELIDO
ENDTEXT
***</UpdateCmd> 

*** End of Setup code: DO NOT REMOVE 
IF THIS.__VFPSetup = 1 
 THIS.__VFPSetup = 2 
ENDIF
Return llReturn 
CursorFill code
LPARAMETERS lUseCursorSchema, lNoData, nOptions, uSource
IF NOT PEMSTATUS(THIS, 'lADO_Done', 5)
	THIS.ADDPROPERTY('lADO_Done')
ENDIF
IF THIS.DATASOURCETYPE = [ADO] AND NOT THIS.lADO_Done
	RETURN
ENDIF
LOCAL llSchema, llNoData, lnOptions, luSource
llSchema  = lUseCursorSchema
llNoData  = lNoData
lnOptions = nOptions
luSource  = uSource
IF VARTYPE(THIS.lUsarCursorSchema) <> "L"
	THIS.lUsarCursorSchema = .F.
ENDIF
IF VARTYPE(THIS.lNoDataOnLoad) <> "L"
	THIS.lNoDataOnLoad = .F.
ENDIF
IF VARTYPE(THIS.nFillOptions) <> "N"
	THIS.nFillOptions = -1
ENDIF
IF PCOUNT() < 1 OR VARTYPE(llSchema) <> "L"
	llSchema = THIS.lUsarCursorSchema
ENDIF
IF PCOUNT() < 2 OR VARTYPE(llNoData) <> "L"
	llNoData = THIS.lNoDataOnLoad
ENDIF
IF PCOUNT() < 3 OR VARTYPE(lnOptions) <> "N"
	lnOptions = IIF(THIS.DATASOURCETYPE = [ADO], THIS.nFillOptions, 0)
ENDIF
LOCAL llRetVal
IF THIS.DATASOURCETYPE = [ADO]
	llRetVal = DODEFAULT(llSchema, llNoData, lnOptions, THIS.oADO_Command)
ELSE
	IF PCOUNT() = 4
		llRetVal = DODEFAULT(llSchema, llNoData, lnOptions, luSource)
	ELSE
		llRetVal = DODEFAULT(llSchema, llNoData, lnOptions)
		IF llRetVal <> .T.
			oODBC.Get_erro()
		ENDIF 
	ENDIF
ENDIF
NODEFAULT
RETURN llRetVal
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform