Ver Mensaje Individual
  #28 (permalink)  
Antiguo 27/10/2011, 13:57
Avatar de stuart_david3
stuart_david3
 
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: Generar listbox en base a otro listbox en una base de datos sql, asp.net

No se que roio con el poio pero, gracias a Dios ya funciono el programa, aquí les dejo el código...

Código ASP:
Ver original
  1. <%@ Import Namespace="System.Data" %>
  2.  
  3. <%@ Import Namespace="System.Data.SQLClient" %>
  4. <script language="vbscript" runat="server">
  5. Sub Page_Load(Sender As Object, E As EventArgs)
  6.         If Not Page.IsPostBack Then
  7.         Dim reader As SqlDataReader
  8.         Dim values As ArrayList = New ArrayList()
  9.         Dim conn As SqlConnection =
  10.          New SqlConnection("server=myhost;database=mydb;User ID=myuser;Password=mypass;Trusted_Connection=no")
  11.         Dim sql As String =
  12.          "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES GROUP BY TABLE_NAME"
  13.         Dim dr As New SqlCommand(sql, conn)
  14.         conn.Open()
  15.  reader = dr.ExecuteReader()
  16.         While reader.Read()
  17.             values.Add(reader.Item("TABLE_NAME").ToString())
  18.         End While
  19.         lb1.DataSource = values
  20.         lb1.DataBind()
  21.         reader.Close()
  22.         End If
  23.     End Sub
  24.  
  25.  
  26. Private Sub lb1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lb1.SelectedIndexChanged
  27.  
  28.        Dim reader As SqlDataReader
  29.         Dim values As ArrayList = New ArrayList()
  30.        Dim conn As SqlConnection =
  31.          New SqlConnection("server=myhost;database=mydb;User ID=myuser;Password=mypass;Trusted_Connection=no")
  32.        Dim cadena As String = lb1.SelectedItem.ToString()
  33.  
  34.  
  35.         Dim sql2 As String = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='" & cadena & "' GROUP BY COLUMN_NAME"
  36.         Dim dr As New SqlCommand(sql2, conn)
  37.         conn.Open()
  38.  reader = dr.ExecuteReader()
  39.         While reader.Read()
  40.             values.Add(reader.Item("COLUMN_NAME").ToString())
  41.         End While
  42.         lb2.DataSource = values
  43.         lb2.DataBind()
  44.         reader.Close()
  45. End Sub
  46. </script>
  47. <html>
  48. <head>
  49. <title>Tablas y Columnas</title>
  50. </head>
  51. <body>
  52.     <asp:Label ID="Label1" runat="server" Text="RPE del Empleado"></asp:Label>
  53. <form id="Form1" method="post" runat="server" name="ListEnlaza">
  54. <asp:ListBox id="lb1" SelectionMode="Multiple" runat="server" Height="217px"
  55.     Width="196px"/>
  56.     <asp:ListBox id="lb2" SelectionMode="Multiple" runat="server" Height="147px"
  57.     Width="196px"/>
  58. <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
  59. <asp:Button ID="Button1" runat="server" Text="Button"/>
  60.  
  61. </form>
  62. </body>
  63. </html>

En realidad no se cuando es que le estoy haciendo referencia al botón, pensé que tenía que llamarlo en el evento (Button1_SelectIndex....) y hago referencia al listbox, pero lo raro es que me genera mis columnas solo al seleccionar el elemento de la lista y darle clic al botón, y no solo al seleccionar el elemento de la lista... No se como es que escucha el evento del botón el listbox, pero bueno gracias a Dios ya funciona. Si alguien me pudiera decir cómo es que escucha al botón el listbox se lo agradecería mucho... Gracias a todos los que me ayudaron, enserio muchísimas gracias!!!...