Estoy creadno un procedimiento almacenado llamdo codigos
Código:
Y en visual basic lo tengo asi DROP PROCEDURE `CODIGO`// CREATE DEFINER=`root`@`localhost` PROCEDURE `CODIGO`(IN Criterios varchar(7)) BEGIN declare criterio VARCHAR(7); set criterio=Criterios; SELECT cod_cliente,nom_cliente, tdo_cliente, doc_cliente, rep_cliente, tel_cliente, cre_cliente, est_cliente FROM clientes WHERE cod_cliente LIKE criterio; END
Capa entidades= variables de todos los campos de la tabla clientes
Capa datos:
Código:
y por ultimo para llamar en el formulario tengo estoPublic Shared Function ObtenerClientePorCriterio(ByVal codigo As String) As List(Of EntCliente) Dim list As New List(Of EntCliente) Using cn = DataUtiles.LeerConexion Try Using cmd As New MySqlCommand("CODIGO", cn) cmd.CommandType = CommandType.StoredProcedure cmd.Parameters.AddWithValue("?Criterios", codigo) cn.Open() Dim reader As MySqlDataReader = cmd.ExecuteReader While reader.Read MsgBox(reader(1).ToString) list.Add(LoadCliente(reader)) End While End Using Catch ex As MySqlException MsgBox(ex.Message) End Try End Using Return list End Function Private Shared Function LoadCliente(ByVal reader As IDataReader) As EntCliente Dim cliente As New EntCliente cliente.codigo = reader("cod_cliente").ToString cliente.Nom = reader("nom_cliente").ToString cliente.Tdo = reader("tdo_cliente").ToString cliente.Doc = reader("doc_cliente").ToString cliente.Rep = reader("rep_cliente").ToString cliente.Tel = reader("tel_cliente").ToString cliente.Cre = reader("cre_cliente").ToString cliente.est = reader("est_cliente").ToString Return cliente End Function
Código:
al ejecutar el formulario en el mensaje si me da los datos pero no en el datagridview. a que se puede deber Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress If Asc(e.KeyChar) = 13 Then Me.dgvclientes.AutoGenerateColumns = False Me.dgvclientes.DataSource = NegCliente.ObtenerClientePorCriterio(Me.TextBox1.Text) End If End Sub