Bases de Datos - PROBLEMA! "Queries" de multiples tablas SQLServer

 
Vista:

PROBLEMA! "Queries" de multiples tablas SQLServer

Publicado por Edgarb (2 intervenciones) el 22/10/2001 13:52:33
Tengo problemas con ADO, utilizando _RecordsetPtr sobre SQLServer.
El problema es que haciendo un query sobre la BDD de SQLSrv donde intervienen varias tablas con algun campo igual, al obtener el recordset resultante no puedo discriminar entre una o otra tabla ("tabla1.nombre" o "tabla2.nombre") a la hora de obtener el valor ( recordset->fields->getitem("tabla.nombre")->value ).
No me reconoce "tabla.nombre" como un campo correcto, sino que tiene unicamente almacenados los campos indistintamente de que se repitan o no. De esta forma, si quiero acceder a "nombre", me retorna el que el quiere (ya que hay 2 que se llaman igual y aunque proceden de tablas diferentes).

Lo normal seria que aceptara como correcto "tabla.nombre" (que es lo que sucede cuando aplico lo mismo sobre Access), pero me da error (concretamente ADO::adErrItemNotFound).

¿alguien tiene idea de que esta pasando?, ¿es problema del driver OLEDB?

Gracias, por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:PROBLEMA!

Publicado por alberto (11 intervenciones) el 23/10/2001 09:17:30
No se de quien es el problema pero si conozco dos posibles solociones:
1.- Referirte a esos campos por el indice en en Recordset
2.- Identificarlos por un alias en la consulta y referirte a ellos por ese alias:
SELECT tabla1.campo AS alias1, tabla2.campo AS alias2 FROM tabla1, tabla2
y en el recordset nos refiriendote a ellos por alias1 y alias2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMA!

Publicado por EdgarB (2 intervenciones) el 24/10/2001 09:31:33
De antemano, gracias.

La primera solución no me sirve, la idea es que estoy implementando una "interficie" para usuarios que nada más han de saber poner el query y decir el campo que quieren, por eso el tema de los índices no me sirve ya que me tengo que referenciar por el nombre que me dan y, concretamente, por la tabla en concreto con dicho nombre de campo.

La segunda solución es la que estoy imlementando por defecto, pero pensaba que era para salir del paso mientras corregía la posibilidad de hacerlo como normalmente se hace.

¿Quizás es un problema de como abro la conexión en ADO?, ¿tienes alguna idea al respecto?

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar