Ésta es una manera como lo puedas hacer, espero te sirva:
1).- Te creas un Store Procedure: en sqlserver :
CREATE PROCEDURE seleccionarcliente
@id_cliente int,@nombre nvarchar (50), @domicilio nvarchar (50)
AS
select *from clientes where id_cliente=@id_cliente
GO
************************************************************************************
2).- En Visual agregra un sqlcommand ke en el ejemplo yo lo llamo(cmdbuscar)
y en la propiedades le cambias:
Le pones la conexion. . .
CommandType=> Storedprocedure
y en command text=>[seleccionarcliente]
que es el nombre de tu procedimiento
************************************************************************************
3).- Ahora en el evento keypress de dnd capturas el num(txtnum.text) va lo siguiente:
Private Sub txtnumero_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtnumero.KeyPress
If e.KeyChar = Microsoft.VisualBasic.ChrW(13) Then
Dim dreader As System.Data.SqlClient.SqlDataReader
conexion.Open()
cmdbuscar.CommandText = "seleccionarcliente"
cmdbuscar.Parameters("@id_cliente").Value = txtnumero.Text
cmdbuscar.Parameters("@nombre").Value = txtnom.Text
cmdbuscar.Parameters("@domicilio").Value = txtdom.Text
Try
dreader = cmdbuscar.ExecuteReader
txtnom.Focus()
Catch y As Exception
MsgBox(y.Message)
End Try
Try
If dreader.Read() Then
txtnumero.Text = dreader.Item("id_cliente")
txtnom.Text = dreader.Item("nombre")
txtdom.Text = dreader.Item("domicilio")
Else
MsgBox("El actual registro no existe", MsgBoxStyle.Exclamation)
txtnumFocus()
End If
conexion.Close()
Catch y As Exception
MsgBox(y.Message)
End Try
txtnom.Focus()
End If
*************************************************************************************
Eso sería lo básico para lo ke kieres, ahi lo ajustas...
Espero y te sirva!!! Cualkier cosa aki andamos...