Foros del Web » Programando para Internet » ASPX (.net) »

Recoger consulta sql con "not in" en un ObjectDataSource

Estas en el tema de Recoger consulta sql con "not in" en un ObjectDataSource en el foro de ASPX (.net) en Foros del Web. Hola, bueno mi problema es el siguiente, tengo una consulta en un TableAdapter de un DataSet, este esta conectado a una de las paginas mediante ...
  #1 (permalink)  
Antiguo 13/03/2011, 11:34
 
Fecha de Ingreso: marzo-2011
Mensajes: 5
Antigüedad: 13 años, 1 mes
Puntos: 0
Recoger consulta sql con "not in" en un ObjectDataSource

Hola, bueno mi problema es el siguiente, tengo una consulta en un TableAdapter de un DataSet, este esta conectado a una de las paginas mediante un ObjectDataSource, para mostrar la información del dataset utilizo un gridview pero me da error al intentar mostrar los datos.

Si ejecuto la consulta en el dataset me devuelve correctamente los registros que necesito, pero en la pagina aspx me da error de metatable o algo asi.

Esta es la consulta:

SELECT Zona.NOMBRE, Casas.CODIGO, Casas.NOMBRE AS nomCasa,Casas.DIRECCION, Casas.CP, Casas.LOCALIDAD, Casas.FOTO, Casas.CAPACIDAD, Casas.CODPRO() FROM Casas INNER JOIN CASAZONA ON Casas.CODIGO = CASAZONA.CODCASA INNER JOIN Zona ON CASAZONA.ZONA = Zona.ZONA
WHERE (Casas.CODIGO NOT IN (SELECT CODCASA FROM(Reservas)
WHERE (FLLEGADA <= @FSALIDA) AND (FLLEGADA >= @FLLEGADA) OR(FSALIDA >= @FLLEGADA) AND (FSALIDA <= @FSALIDA)))

Y el codigo de la pagina que genera el error al darle a un boton:

ObjectDataSource1.SelectMethod = "obtenerDisponibilidad"
ObjectDataSource1.SelectParameters.Clear()
ObjectDataSource1.SelectParameters.Add("FLLEGADA", Me.Calendar1.SelectedDate.ToShortDateString())
ObjectDataSource1.SelectParameters.Add("FSALIDA", Me.Calendar2.SelectedDate.ToShortDateString())
ObjectDataSource1.DataBind()

El GridView esta conectado al ObjectDataSource en modo grafico.

Gracias. Tambien me serviria si hubiese otra manera de ejercutar esa consulta o de visualizarla.

Un saludo.
  #2 (permalink)  
Antiguo 14/03/2011, 05:45
 
Fecha de Ingreso: marzo-2011
Mensajes: 5
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Recoger consulta sql con "not in" en un ObjectDataSource

Por favor, estoy desesperado, ya no se como obtener la disponibilidad de las casas, no paro de buscar en internet y no encuentro como hacerlo.

¿No me puede ayudar nadie?

Gracias de todas formas.
  #3 (permalink)  
Antiguo 14/03/2011, 13:07
 
Fecha de Ingreso: marzo-2011
Mensajes: 5
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Recoger consulta sql con "not in" en un ObjectDataSource

Perdon esta es la consulta, se me colo ese parentesis:

SELECT Zona.NOMBRE, Casas.CODIGO, Casas.NOMBRE AS nomCasa, Casas.DIRECCION, Casas.CP, Casas.LOCALIDAD, Casas.FOTO, Casas.CAPACIDAD, Casas.CODPRO
FROM Casas INNER JOIN CASAZONA ON Casas.CODIGO = CASAZONA.CODCASA INNER JOIN Zona ON CASAZONA.ZONA = Zona.ZONA
WHERE (Casas.CODIGO NOT IN(SELECT CODCASA
FROM Reservas
WHERE (FLLEGADA <= @FSALIDA) AND (FLLEGADA >= @FLLEGADA) OR
(FSALIDA >= @FLLEGADA) AND (FSALIDA <= @FSALIDA)))

El error es este (se ingles pero no se a que se refiere con DynamicDataRoute):

Could not determine a MetaTable. A MetaTable could not be determined for the data source 'ObjectDataSource1' and one could not be inferred from the request URL. Make sure that the table is mapped to the dats source, or that the data source is configured with a valid context type and table name, or that the request is part of a registered DynamicDataRoute.


He cambiado el codigo, mirando por internet, a:

ObjectDataSource1.SelectParameters.Item("FLLEGADA" ).DefaultValue = Me.Calendar1.SelectedDate.ToShortDateString()
ObjectDataSource1.SelectParameters.Item("FSALIDA") .DefaultValue = Me.Calendar2.SelectedDate.ToShortDateString()
ObjectDataSource1.Select()

Y ahora me da este error:

No se puede establecer la propiedad Type del parámetro 'FSALIDA' si está establecida la propiedad DbType.



PD: se me olvidaba, los dos errores saltan con InvalidOperationException


IMPORTANTE: El problema es el NOT IN de la consulta SQL, ya que tengo mas tableadapters que si funcionan perfectamente

Etiquetas: recoger, sql, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:08.