• Domingo 22 de Diciembre de 2024, 23:59

Autor Tema:  Duda sobre los dataGrid  (Leído 1905 veces)

fORU-

  • Miembro MUY activo
  • ***
  • Mensajes: 225
  • Nacionalidad: mo
    • Ver Perfil
Duda sobre los dataGrid
« en: Viernes 31 de Octubre de 2008, 07:40 »
0
Hola que tal, Tengo una duda alguien me puede poner el algoritmo de como hacer funcionar un data grid para lo que quiero hacer xD

Bueno primero les contare un poco, intento mostrar algunos datos en vb.net de una bd (mysql) ejemplo:

SELECT Descripcion,Precio,Numero FROM producto;

Por ahi me recomendaron que definiera 3 columnas a ese datagrid (Descripcion,Precio,Numero) pero ahora de ahi que sigue???

Gracias por su tiempo y atencion..
atte:fORU-

jorge_jvm

  • Nuevo Miembro
  • *
  • Mensajes: 13
  • Nacionalidad: mx
    • Ver Perfil
Re: Duda sobre los dataGrid
« Respuesta #1 en: Viernes 31 de Octubre de 2008, 16:43 »
0
hola, pues mira yo lo realizo asi:

Private OrigendeDatos As Windows.Forms.BindingSource = New BindingSource

y despues en el boton o en el load de tu form (Mi dataGrid se llama BCListaDG):

Try

            'Realiza la conexion a la base de datos
            ConexionSQL = New SqlConnection _
            ("server=NombreoipServidorSQL,uid=juanperez,pwd=123abc,database=Nombre_de_tu_base_de_datos")

            'Abre la conexcion
            ConexionSQL.Open()

            'Crear un DataAdapter y pasarle el comando para traer los registros  
            Dim da As New SqlDataAdapter("SELECT Descripcion,Precio,Numero FROM producto", ConexionSQL)

            'DataTable  
            Dim dt As New DataTable

            'Llenar el DataTable  
            da.Fill(dt)

            'Enlazar el DataTable al BindingSource  
            OrigendeDatos.DataSource = dt

            'Propiedades para el DataGridview  
            BCListaDG.DataSource = OrigendeDatos.DataSource

            'Cierra la conexion
            ConexionSQL.Close()

            'Si no logra abrir la conexion
        Catch ex As SqlException

            'mensage de error del servidor
            MsgBox("Error al conectar con Base de datos." _
                   & ControlChars.CrLf & ex.Message & _
                   ControlChars.CrLf, Title:="Error SQL")
        End Try

de esta manera tendras los datos que quieres, ya filtrados en tu Datagrid. Ojala te sea de utilidad, si no, pregunta de nuez  :good:  SALUDOS

fORU-

  • Miembro MUY activo
  • ***
  • Mensajes: 225
  • Nacionalidad: mo
    • Ver Perfil
Re: Duda sobre los dataGrid
« Respuesta #2 en: Domingo 2 de Noviembre de 2008, 03:47 »
0
mm no me funciono, thxs
atte:fORU-

jorge_jvm

  • Nuevo Miembro
  • *
  • Mensajes: 13
  • Nacionalidad: mx
    • Ver Perfil
Re: Duda sobre los dataGrid
« Respuesta #3 en: Martes 4 de Noviembre de 2008, 17:42 »
0
que error te da?

fORU-

  • Miembro MUY activo
  • ***
  • Mensajes: 225
  • Nacionalidad: mo
    • Ver Perfil
Re: Duda sobre los dataGrid
« Respuesta #4 en: Martes 4 de Noviembre de 2008, 19:05 »
0
Gracias por su codigo companero, ya me explicaron de otra forma de realizar lo que quiero (con mysql). pongo el codigo para quien ocupe info.

Código: Text
  1.  
  2.    Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  3.         Dim con As New Conexion 'TENGO UNA CLASE LLAMADA CONEXION CON LA CUAL ME CONECTO A LA BD INTRODUCIENDO PASS Y USR
  4.         con.conectar("[aquiTuContrasena", "AquiTuUsuario") //ME CONECTO A MI BD
  5.         Dim _idProducto As String = "SELECT idProducto,Descripcion FROM producto WHERE Categoria='CONSTRUCCION' ORDER BY Descripcion ASC"
  6.         Dim command As New MySql.Data.MySqlClient.MySqlCommand(_idProducto, con.conn)
  7.         Dim reader As MySql.Data.MySqlClient.MySqlDataReader = command.ExecuteReader
  8.         Dim St(2) As String
  9.  
  10.         While reader.Read
  11.             St = New String() {reader.GetString(0), reader.GetString(1)}
  12.             DataGridView1.Rows.Add(St)
  13.         End While
  14.         reader.Close()
  15.     End Sub
  16. End Class
  17.  
  18.  

NOTA: ya se tiene definidas dos columnas en el DataGridView
NOTA: St es un vector donde se tiene que poner  reader.Getstring(xColumna), en este caso se tiene dos columnas idProducto y Descripcion, si se quisiera poner una columna mas (ejem Precio) 1: poner la columna (propiedades de datagridview) y 2: seria Dim St(3) as String y St=New String() {reader.GetString(0), reader.GetString(1), reader.GetString(2)}
NOTA: Si se intenta acceder a una columna donde el valor de un registro es null se detendra el programa por lo tanto se ocuparia usar try-catch para que el programa no se detenga.
atte:fORU-