Parametro IN en un Dataset Tipado

18/09/2007 - 10:40 por Pekatore | Informe spam
Saludos a todos,

Me gustaria saber si es posible pasarle parametros a un Dataset Tipado
en concreto para un clausula IN.

En la consulta:

WHERE codigos IN(?)

evalua el parametro (?) como un string completo:

WHERE codigos IN("5,10")

y no como un coleccion de string :

WHERE codigos IN("5","10")


Gracias de antemano

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
18/09/2007 - 12:04 | Informe spam
"Pekatore" wrote in message
news:
Me gustaria saber si es posible pasarle parametros a un Dataset Tipado
en concreto para un clausula IN.

En la consulta:

WHERE codigos IN(?)

evalua el parametro (?) como un string completo:

WHERE codigos IN("5,10")

y no como un coleccion de string :

WHERE codigos IN("5","10")



No, no es posible, salvo que se modifique la consulta dinámicamente,
cambiando sobre la marcha el CommandText para que diga "IN(?,?,?,?)", y
luego se añadan "n" parámetros, uno por cada "?".
Respuesta Responder a este mensaje
#2 [Juanjo]
19/09/2007 - 11:45 | Informe spam
Perdona, pero eso se puede hacer usando TableAdapter???


"Alberto Poblacion"
escribió en el mensaje news:OqLMLtd%
"Pekatore" wrote in message
news:
Me gustaria saber si es posible pasarle parametros a un Dataset Tipado
en concreto para un clausula IN.

En la consulta:

WHERE codigos IN(?)

evalua el parametro (?) como un string completo:

WHERE codigos IN("5,10")

y no como un coleccion de string :

WHERE codigos IN("5","10")



No, no es posible, salvo que se modifique la consulta dinámicamente,
cambiando sobre la marcha el CommandText para que diga "IN(?,?,?,?)", y
luego se añadan "n" parámetros, uno por cada "?".

Respuesta Responder a este mensaje
#3 Alberto Poblacion
19/09/2007 - 12:00 | Informe spam
"[Juanjo]" wrote in message
news:ec%23BKEq%

Perdona, pero eso se puede hacer usando TableAdapter???



Directamente desde el diseñador gráfico, no (porque tendrías que
especificar un número fijo de argumentos, no te los acepta variables). Lo
que tendrías que hacer es acceder por código al SelectCommand que utiliza
internamente el DataAdapter que se encapsula dentro del TableAdapter y se
usa durante la ejecución del método Fill. Lo siento, pero ahora mismo no
tengo la certeza de que el modelo de objetos del TableAdapter exponga al
exterior este SelectCommand interno. Me imagino que sí, pero sé exactamente
cómo, y no tengo ninguno a mano para examinarlo.
Respuesta Responder a este mensaje
#4 Juan Diego Bueno
19/09/2007 - 12:58 | Informe spam
Hola Juanjo:

Mira, tu que eres partidario de usar información que ya se ha dado en los
grupos:

http://groups.google.com/group/micr...5673e52df7

Lo que pasa es que Hadi me pasó por correo el código, y no sale ahí. Os lo
transcribo:

Create un dataset como siempre y un tableadapter. Luego doble-click para

sacar las clases parciales del dataset. Dentro pon:

namespace WindowsApplication1.DataSet1TableAdapters {

partial class UserTableAdapter {

public string SelectCommandText {

get { return this.CommandCollection[0].CommandText; }

set { this.CommandCollection[0].CommandText = value; }

}

}

}



Donde deber sustituir WindowsApplication1.DataSet1TableAdapters por tu

namespace y obviamente UserTableAdapter por el tuyo. Eso es una de las

muchas formas de hacerlo.

Ahora ya podrás desde tu aplicación hacer:

UserTableAdapter xAdapter ;

xAdapter.SelectCommandText : "select.";



Es un tema que a mi ya se me había planteado hace tiempo, sobre todo para
poder crear filtros OR sin necesidad de prefijar el número de parámetros
inicialmente.

Espero que te sirva (y que Hadi no se moleste por haber pegado un correo
suyo)

Saludos

"Alberto Poblacion"
escribió en el mensaje news:uvn1xPq%
"[Juanjo]" wrote in message
news:ec%23BKEq%

Perdona, pero eso se puede hacer usando TableAdapter???



Directamente desde el diseñador gráfico, no (porque tendrías que
especificar un número fijo de argumentos, no te los acepta variables). Lo
que tendrías que hacer es acceder por código al SelectCommand que utiliza
internamente el DataAdapter que se encapsula dentro del TableAdapter y se
usa durante la ejecución del método Fill. Lo siento, pero ahora mismo no
tengo la certeza de que el modelo de objetos del TableAdapter exponga al
exterior este SelectCommand interno. Me imagino que sí, pero sé
exactamente cómo, y no tengo ninguno a mano para examinarlo.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida