Urgente!!!!!! Recordset ADODB

20/08/2004 - 20:37 por Jaimito | Informe spam
Hola compañeros...

Tengo un inconveniente al intentar acceder a la colección
de campos de un ADODB.Recordset desde .NET

El recordset me lo retorna una DLL VB6, esto está
funcionando correctamente, es decir, ya está comprobado
que no existe error alguno en la DLL y si retorna un
recordset con datos y sin problema alguno.

Mi código es algo así:

//una variable
ADODB._Recordset rstResp = null;

//recupero el ADODB.Recordset que retorna la DLL
//aquí no hay problema
rstResp = (ADODB._Recordset) MiDll.Consulta();

//aquí si me genera error!!!
//dice que no se ha instanciado
if (rstResp.Fields.Count > 1)
{
//otras cosas
//
//
}

Como comenté arriba al momento de comprobar si el
recordset trae campos genera un error diciendo que no hay
instancia alguna, y lo mejor de todo es que coloco un
punto de interrupción donde está el "if", hago una
inspección de la variable "rstResp" y aparece instanciado
(no es null), tiene 16 campos, tiene registros, mejor
dicho el recordset está bien!!!.

La DLL se genera con una referencia al MDAC 2.8.
El proyecto .NET tiene referencias a: ADODB y mi DLL.
El proyecto crea dos archivos Interop: Interop.MiDll e
Interop.ADODB.

¿Tiene algún inconveniente .NET con el MDAC?
¿Qué se está haciendo mal?

Gracias por su colaboración.
 

Leer las respuestas

#1 Eugenio Serrano
25/08/2004 - 16:34 | Informe spam
Creo que el metodo Fill de OleDb te permite llenar un DataSet con un
Recorset de ADO

Saludos,
Eugenio Serrano
NDSoft Consultoria y Desarrollo
MS MVP ASP.Net
Voluntario Ineta Latam (www.ineta.org/latam)

"Jaimito" escribió en el mensaje
news:2e9601c486e4$bc867390$
Hola compañeros...

Tengo un inconveniente al intentar acceder a la colección
de campos de un ADODB.Recordset desde .NET

El recordset me lo retorna una DLL VB6, esto está
funcionando correctamente, es decir, ya está comprobado
que no existe error alguno en la DLL y si retorna un
recordset con datos y sin problema alguno.

Mi código es algo así:

//una variable
ADODB._Recordset rstResp = null;

//recupero el ADODB.Recordset que retorna la DLL
//aquí no hay problema
rstResp = (ADODB._Recordset) MiDll.Consulta();

//aquí si me genera error!!!
//dice que no se ha instanciado
if (rstResp.Fields.Count > 1)
{
//otras cosas
//
//
}

Como comenté arriba al momento de comprobar si el
recordset trae campos genera un error diciendo que no hay
instancia alguna, y lo mejor de todo es que coloco un
punto de interrupción donde está el "if", hago una
inspección de la variable "rstResp" y aparece instanciado
(no es null), tiene 16 campos, tiene registros, mejor
dicho el recordset está bien!!!.

La DLL se genera con una referencia al MDAC 2.8.
El proyecto .NET tiene referencias a: ADODB y mi DLL.
El proyecto crea dos archivos Interop: Interop.MiDll e
Interop.ADODB.

¿Tiene algún inconveniente .NET con el MDAC?
¿Qué se está haciendo mal?

Gracias por su colaboración.

Preguntas similares