Problema al abrir un recordset ADO
Antetodo gracias por leer esto. A ver, mi problema es que tengo el Visual Basic 6.0 y he creado una aplicaci贸n que maneja recordsets ADO, los cuales me dan bastantes problemas que poco a poco he ido resolviendo menos uno. Resulta que al iniciar la aplicaci贸n, creo una conexi贸n a una base de datos remota del tipo IBM/DB2 soble linux, hasta aqu铆 todo correcto (la conexi贸n va bien), despu茅s abro un recordset con el m茅todo OPEN sobre esa conexi贸n y me lo abre (propiedad STATE a 1) pero no lee nada (propiedad RECORDCOUNT a 0). Si abro el recordset utilizando el m茅todo execute de la cnoexi贸n y devolviendo la select a ese recordset todav铆a va peor (propiedad RECORDCOUNT A -1). Estoy desesperado, he probado todos los tipos de bloqueo,cursores, etc... y el que mejor funciona es adOpenKeySet con bloqueo optimista. Me ocurre lo mismo con ADO 2.5 y 2.7. La tabla que intento abrir solo tiene un registro y esta es la instrucci贸n que estoy utilizando:
ModuloBD.rcEntorno.Open consulta, ModuloBD.cnaux, adOpenKeyset, adLockBatchOptimistic, adCmdText
Y esta es la puse probando con el execute, pero que ya os digo que va peor:
Set ModuloBD.rcEntorno = ModuloBD.cnaux.Execute("SELECT * FROM ALMACEN.TBLENTORNO", , adCmdText)
Si alguien me puede ayudar, lo agradecer铆a eternamente. Gracias anticipadas.
ModuloBD.rcEntorno.Open consulta, ModuloBD.cnaux, adOpenKeyset, adLockBatchOptimistic, adCmdText
Y esta es la puse probando con el execute, pero que ya os digo que va peor:
Set ModuloBD.rcEntorno = ModuloBD.cnaux.Execute("SELECT * FROM ALMACEN.TBLENTORNO", , adCmdText)
Si alguien me puede ayudar, lo agradecer铆a eternamente. Gracias anticipadas.
cuando usas mas de una tabla en una consulta SQl tambien debes, al seleccionar los campos a mostrar, especificar a que tabla pertence EJ SELECT Tabla1.Campo1,Tabla1.Campo2,Tabla2.Campo1 FROM Tabla1,Tabla2 WHERE Tabla1.Campo1 = 'DatoBusca'
Cuando haces consultas no es necesario bloquerar, si es necesario cuando modificas
antes de hacer la consulta, coloca la propiedad cursorlocation a aduseclient, eso me funciono a mi. Suerte
