Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/04/2005, 14:44
Avatar de Sayra
Sayra
 
Fecha de Ingreso: diciembre-2004
Mensajes: 365
Antigüedad: 20 años, 3 meses
Puntos: 1
problema al efectuar busqueda en tabla

Yo estoy haciendo un aplicacion para realizar busquedas sobre una tabla de acuerdo a la seleccion un checkboxlist (representa los servicios)
y tres drops enlazados entre si que representa estados ciudades y ubicaciones
los criterios de la aplicaion son estos
1Es obligatorio seleccionar al menos un servicio
2que cuando se seleccione el servicio y no los combos muestre todas las coincidencias de servicio por estado ciudad y ubicacion
3que cuando se seleccione solo el combo estado cargue le combo ciudad y se pulse buscar;busque las coincidencias de servicos para esa estado
4que cuando seleccione estado, ciudad (se cargue el combo 3 cuando se seleccione ciudad)y se pulse buscarbusque todas las coincidencias de servicio, para ese estado y ciudad
5que cuando seleccione estado ciudad y ubicacion y se pulse buscar muestre todas las coincidencias de servicio para esa ciudad estado y ubicacion
yo lo hice asi,pero cuando hago presiono el boton buscar para que me muestre los servivios seleccionado po coincidencia de estado y ciudad seleccionado me dice

Sub Button1_Click(sender As Object, e As EventArgs)

Dim i As Int32
Dim j As Int32
Dim strSql As String
For i = 0 to Check1.Items.Count-1

if Check1.selectedindex=-1 Then
Iblmessage.Text = "Es necesario que seleccione un servicio"

Else If Check1.Items(i).Selected Then
Iblmessage.Text=""

if viewstate("MbpA")= "si" then

'Cargo el combo busqueda

strSql = " SELECT "

For j = 0 To Check1.Items.Count - 1
If Check1.Items(j).Selected Then
' Entra si esta seleccionado
strSql += " " & Check1.Items(j).value & ", "
end if
Next

strSql += " Agencia.Agencia as [Nombre Agencia], Agencia.Direccion as Direccion, Agencia.Telefono as Telefono, Agencia.EsAgencia as Agencia, Estado.Nombre_Estado as Estado, Ciudad.Nombre_Ciudad as Ciudad, Ubicacion.Descripcion as Ubicación From Agencia, Estado, Ciudad, Ubicacion "
strSql += " WHERE Agencia.EstadoID=Estado.EstadoID"
strSql += " AND Agencia.CiudadID=Ciudad.CiudadID"
strSql += " AND Agencia.UbicacionID=Ubicacion.UbicacionID"
If DropDownList1.SelectedIndex then
strSql += " AND Agencia.EstadoID=" &DropDownList1.SelectedItem.Value
BindGrid(strSql)
Else If DropDownList2.SelectedIndex then
strSql += " AND Agencia.EstadoID=" &DropDownList1.SelectedItem.Value
strSql += " AND Agencia.CiudadID=" &DropDownList2.SelectedItem.Value
BindGrid(strSql)
Else If DropDownList1.SelectedIndex then
strSql += " AND Agencia.UbicacionID=" &DropDownList3.SelectedItem.Value
BindGrid(strSql)
end if
Else if viewstate("MbpA")= "no"

strSql += "Select Agencia.Agencia as [Nombre Agencia], Agencia.Direccion as Direccion, Agencia.Telefono as Telefono, Agencia.Cajero_Automatico as Cajero, Agencia.EsAgencia as Agencia, Agencia.Autobanco as Autobanco, Agencia.Taquilla_Externa as Taquilla, Agencia.Estacionamiento as Estacionamiento, Estado.Nombre_Estado as Estado, Ciudad.Nombre_Ciudad as Ciudad, Ubicacion.Descripcion as Ubicacion From Agencia, Estado, Ciudad, Ubicacion "
strSql += " WHERE Agencia.EstadoID=Estado.EstadoID"
strSql += " AND Agencia.CiudadID=Ciudad.CiudadID"
strSql += " AND Agencia.UbicacionID=Ubicacion.UbicacionID"

For j = 0 To Check1.Items.Count - 1
If Check1.Items(j).Selected Then
' Entra si esta seleccionado
strSql += " AND " & Check1.Items(j).value & "='si' "
end if
Next

BindGrid(strSql)
end if
end if
next
End Sub


Sub BindGrid(strSql as string)
Dim ds As DataSet
Dim MyCommand As SqlDataAdapter
MyCommand = New SqlDataAdapter(strSql, PortalSettings.SqlConnectionString)
ds = new DataSet()
MyCommand.Fill(ds, "Agencia")
MyDataGrid.DataSource=ds.Tables("Agencia").Default View
MyDataGrid.DataBind()


End Sub

gracias de antemano