CLR: .Net / Mono / Boo / Otros CLR > VB .NET
Duda sobre los dataGrid
(1/1)
fORU-:
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..
jorge_jvm:
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-:
mm no me funciono, thxs
jorge_jvm:
que error te da?
fORU-:
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 --- Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim con As New Conexion 'TENGO UNA CLASE LLAMADA CONEXION CON LA CUAL ME CONECTO A LA BD INTRODUCIENDO PASS Y USR con.conectar("[aquiTuContrasena", "AquiTuUsuario") //ME CONECTO A MI BD Dim _idProducto As String = "SELECT idProducto,Descripcion FROM producto WHERE Categoria='CONSTRUCCION' ORDER BY Descripcion ASC" Dim command As New MySql.Data.MySqlClient.MySqlCommand(_idProducto, con.conn) Dim reader As MySql.Data.MySqlClient.MySqlDataReader = command.ExecuteReader Dim St(2) As String While reader.Read St = New String() {reader.GetString(0), reader.GetString(1)} DataGridView1.Rows.Add(St) End While reader.Close() End SubEnd Class
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.
Navegación
Ir a la versión completa