Un SELECT sobre un Datatable??

23/11/2005 - 11:24 por vanels | Informe spam
Hola buenas

Tengo una duda que no se como resolver..

Obtengo una lista de parametros de una fuente como es Excel por ej. Todo esto lo guardo en un Datatable.

Luego, tengo que hacer una sentencia sql a otra base de datos pasandole todos estos parametros que tengo en el datatable

He probado a "construir" la sql poco a poco, pasandole algo asi como..

sql = sql + "or cod=" & tabla.rows(0).item(0) & "

pero claro, tengo bastantes parametros y saturo el buffer de la base de datos

Se me ocurre un... and cod in (selec ... from datatable...), pero esto creo que no se puede hacer.

Si me podeis ayudar con algun ejemplo o sugerencia os lo agradeceria puesto que no es la primera vez que me ocurre algo asi y siempre tengo la duda. Muchas gracias de antemano

vanels

Ver este tema: http://www.softwaremix.net/viewtopic-458063.htm

Enviado desde http://www.softwaremix.net
 

Leer las respuestas

#1 Alejandro Mesa
23/11/2005 - 16:01 | Informe spam
vanels,

Estos parametros tambien pueden ser leidos desde sql server, puedes crear un
"linked server" usando sp_addlinkedserver, tambien puedes usar otras
funciones de conjunto de filas como OPENQUERY y OPENDATASOURCE las cuales te
permiten leer desde un archivo excel y quedaria tu query algo asi como:

select a.*
from t1 as a
where c1 in (select p1 from openquery(...) as b)

sp_addlinkedserver
http://msdn.microsoft.com/library/d...a_8gqa.asp


AMB

"vanels" wrote:


Hola buenas:

Tengo una duda que no se como resolver...

Obtengo una lista de parametros de una fuente como es Excel por ej. Todo esto lo guardo en un Datatable.

Luego, tengo que hacer una sentencia sql a otra base de datos pasandole todos estos parametros que tengo en el datatable.

He probado a "construir" la sql poco a poco, pasandole algo asi como...

sql = sql + "or cod=" & tabla.rows(0).item(0) & ""

pero claro, tengo bastantes parametros y saturo el buffer de la base de datos.

Se me ocurre un... and cod in (selec ... from datatable...), pero esto creo que no se puede hacer.

Si me podeis ayudar con algun ejemplo o sugerencia os lo agradeceria puesto que no es la primera vez que me ocurre algo asi y siempre tengo la duda. Muchas gracias de antemano.


vanels


Ver este tema: http://www.softwaremix.net/viewtopic-458063.html

Enviado desde http://www.softwaremix.net



Preguntas similares