none
Consulta SQL a la que pueda escoger un valor específico devuelto de la consulta

    Pregunta

  • Hola a todos

    Mi pregunta es cómo crear una consulta a la que pueda escoger un valor específico de los que pueda devolver la consulta ( para agregarlo a un Array  y DropDownList )

    Imports WebApplication1.DataSet1TableAdapters
    Imports System.Data.SqlClient
    Imports WebApplication1.DataSet1
    Imports System.Data
    
    Protected Sub Butt_Click() Handles Button1.Click
      Dim Table11aTaAdapter As New Table11aTableAdapter
      Dim Dataset1Instancia As New DataSet1
      Dim array2 As New ArrayList
            
    
            For index As Integer = 1 To Table11aTaAdapter.FillByCombo(Dataset1Instancia.Table11a, TextBox1.Text)
                array2.Add(Table11aTaAdapter.FillByCombo(Dataset1Instancia.Table11a, TextBox1.Text))
            Next
    
            For index1 As Integer = 0 To (array2.Item(0) - 1)
                DropDownList1.Items.Add(array2.Item(index1))
            Next
            Label1.Text = array2.Item(0)
    End Sub

    el problema está en que en el Array inserta el valor del contador en verde de insertar el valor de la consulta ( el de la columna )
    y lo que me gustaria es que inserte los valores mediante el indice de los valores de la consulta la consulta

    la consulta que creo es la siguiente (intente con Were pero no me funciono):
    SELECT Columna, ColumnaUser FROM Table11a GROUP BY Columna, ColumnaUser HAVING (ColumnaUser = @ColumnaUser)


    viernes, 26 de junio de 2009 13:11

Todas las respuestas


  • no me funciona el filtro Where

    Imports JuegoEmproters1.DataSetJuego1TableAdapters
    Imports System.Data.SqlClient
    Imports System.Data
    
    Partial Public Class Juego
        Inherits System.Web.UI.Page
        Dim DataSetInstancia As New DataSetJuego1
        Dim DataTableInstancia As New DataTable1TableAdapter
        Private Conexion As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
        Private strSQL As String = ("SELECT ColumnaLocalizacion FROM  TableCiudades  WHERE [ColumnaUsuarioID] = '" + User.Identity.Name.ToString + "'")    ' & TextBox1.Text 
        Private MiConexion As New SqlConnection(Conexion)
        Private MiDataReader As SqlDataReader
        Private Contador As Long
        Private Posicion As Long
        Dim Usuario1a As String
        Dim AEstado As Byte
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
                  Contador = 0
            Posicion = 0
            Usuario1a = User.Identity.Name.ToString()
        End Sub
        Private Sub Juego_LoadComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LoadComplete
            If DropDownList1.Items.Count < 1 Then
                Timer1.Enabled = True
                AEstado = 1
            End If
        End Sub
        Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles DropDownList1.SelectedIndexChanged
            Label1.Text = DropDownList1.SelectedItem.Value
        End Sub
    
        Private Sub Establecer_Conexion(ByVal bolAccion As Boolean)
            Dim Comando As SqlCommand
            If bolAccion = True Then
                ' True => Establecemos la conexión
                Comando = New SqlCommand(strSQL, MiConexion)
                ' Abrimos la Conexión
                MiConexion.Open()
                ' Ejecutamos la sentencia SQL
                MiDataReader = Comando.ExecuteReader()
                ' Obtenemos la cantidad de registros obtenidos
                Contador = DataTableInstancia.ScalarQueryContadorCiudades(User.Identity.Name.ToString)  
            ElseIf bolAccion = False Then
                ' False => Finalizamos la conexión
                ' Cerramos la Conexión
                Comando = Nothing
                MiConexion.Close()
                Timer1.Enabled = False
            End If
        End Sub
    
        Protected Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles Timer1.Tick
    
            Label1.Text = strSQL
            ' Recorremos los registros y los mostramos
           
            Try
                Establecer_Conexion(True)
                For index1 As Integer = 1 To Contador
                    MiDataReader.Read()
                    DropDownList1.Items.Add(MiDataReader("ColumnaLocalizacion"))
                    Posicion += 1
                Next
    
            Catch ex As Exception
                Establecer_Conexion(False)
                strSQL = ("SELECT ColumnaLocalizacion FROM  TableCiudades  ")
                Establecer_Conexion(True)
                For index1 As Integer = 1 To Contador
                    MiDataReader.Read()
                    DropDownList1.Items.Add(MiDataReader("ColumnaLocalizacion"))
                    Posicion += 1
                    MsgBox(" fallo ")
                Next
            End Try
    
            If Posicion = Contador Then
                Establecer_Conexion(False)
            End If
            Timer1.Enabled = False
    
        End Sub
    
      
    End Class
    
    sábado, 27 de junio de 2009 13:59
  • Hola a todos

    Mi pregunta es cómo crear una consulta a la que pueda escoger un valor específico de los que pueda devolver la consulta ( para agregarlo a un Array  y DropDownList )

    Imports WebApplication1.DataSet1TableAdapters
    
    Imports System.Data.SqlClient
    
    Imports WebApplication1.DataSet1
    
    Imports System.Data
    
    
    
    Protected Sub Butt_Click() Handles Button1.Click
    
      Dim Table11aTaAdapter As New Table11aTableAdapter
    
      Dim Dataset1Instancia As New DataSet1
    
      Dim array2 As New ArrayList
    
            
    
    
    
            For index As Integer = 1 To Table11aTaAdapter.FillByCombo(Dataset1Instancia.Table11a, TextBox1.Text)
    
                array2.Add(Table11aTaAdapter.FillByCombo(Dataset1Instancia.Table11a, TextBox1.Text))
    
            Next
    
    
    
            For index1 As Integer = 0 To (array2.Item(0) - 1)
    
                DropDownList1.Items.Add(array2.Item(index1))
    
            Next
    
            Label1.Text = array2.Item(0)
    
    End Sub
    
    

    el problema está en que en el Array inserta el valor del contador en verde de insertar el valor de la consulta ( el de la columna )
    y lo que me gustaria es que inserte los valores mediante el indice de los valores de la consulta la consulta

    la consulta que creo es la siguiente (intente con Were pero no me funciono):
    SELECT Columna, ColumnaUser FROM Table11a GROUP BY Columna, ColumnaUser HAVING (ColumnaUser = @ColumnaUser)


     








    lo ideal e en lugar de usar el bucle For-to-next uses el For Each para contar cada uno de los items en la tabla y en el array puesto que es mas powerful el for each a qui te dejo un ejemplo claro sustituyelo po rus objetos


       Dim array2 As New ArrayList
    
            For Each datos In HomeInformationDataSet.HomeInformation
    
                array2.Add(datos.Dia)
    
            Next
    
            For Each Index In array2
    
                 DropDownList1.Items.Add(Index.ToString)
    
            Next
    Label1.Text = array2.Item(0)
    sustituye los objetos >

    dnde  HomeInformationDataSet.HomeInformation es tu dataset y tu tabla  y Dia es una  columna que sale como propiedad

    Saludos.

    Melvin.


    Todo Es posible si se studia con exfuerso no importando los de mas Dios esta con nosotros y no hay mas sabiduria que la de Dios, Everything is posible if you study a lot wiht esforce , God Loves us and there isn't anybody like God.... Melvin Saludos
    • Propuesto como respuesta Melvindev viernes, 10 de julio de 2009 7:04
    sábado, 27 de junio de 2009 16:05