You are on page 1of 3

BUSQUEDA DE DATOS

Este formulario(principal) permite mostrar a travs de un botn el llamado de otro formulario. Al mostrarse el
formulario puede generar una consulta y extrae datos segn la bsqueda, luego puede seleccionar el tem
requerido, de tal forma que capture el Id y nombre del Cliente; luego estos datos se mostrar en el formulario
principal que lo invoco. Ver figura

Crear una Base de datos BDComercial


CREATE DATABASE [BDComercial] ON PRIMARY
( NAME = N'BDComercial', FILENAME = N'E:\Base\BDComercial.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED,
FILEGROWTH = 1024KB )
LOG ON
( NAME = N'BDComercial_log', FILENAME = N'E:\Base\BDComercial_log.ldf' , SIZE = 1024KB , MAXSIZE =
2048GB , FILEGROWTH = 10%)
USE BDComercial
Crear una tabla Cliente con sus respectivos campos
CREATE TABLE Cliente (
IdCliente int Identity(1,1) NOT NULL,
NombreCliente VarChar (80) null,
RucDni VarChar (11) null,
Direccion VarChar (100) null,
Telefono VarChar (20) null,
Ciudad VarChar (30) null,
Estado bit not null Default 1
CONSTRAINT [PK_Cliente] PRIMARY KEY ([IdCliente] ASC)
) ON [PRIMARY]
Formulario Padre: Registro de Cliente
Formulario hija: Buscar Cliente. Los datos se mostraran en el control ListView.
DOCENTE: Ing. Martin Saavedra Julca - Electivo I

Pag. 1

VER CODIGO EN C#
EN EL FORMULARIO PRINCIPAL IR AL BOTON BUSCARCLIENTE
private void btnBuscarCliente_Click(object sender, EventArgs e)
{
frmBuscarCliente oFrm = new frmBuscarCliente();
oFrm.ShowDialog();
}
EN EL EVENTO ACTIVATE DEL FORMULARIO PRINCIPAL (frmRegistrarCliente)
private void frmRegistrarCliente_Activated(object sender, EventArgs e)
{

if (frmBuscarCliente.bPasaValor == true)
{
this.txtIdCliente.Text = frmBuscarCliente.tCodigo;
this.txtRazonSocial.Text = frmBuscarCliente.tNombre;
frmBuscarCliente.bPasaValor = false;
}

CODIGO DEL FORMULARIO SECUNDARIO


using System;
using System.Data;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace prySistemaComercial
{
public partial class frmBuscarCliente : Form
{
public static String tCodigo;
public static String tNombre;
public static bool bPasaValor;
public frmBuscarCliente()
{
InitializeComponent();
}

private void btnConsultar_Click(object sender, EventArgs e)


{

string strCon = "server=(local);user id=sa;password=1234;Initial Catalog=BDComercial";


SqlConnection conn = new SqlConnection(strCon);
string sqlConsulta = "Select * from Cliente Where NombreCliente like '" +
this.txtBuscarNombre.Text + "%'";
SqlCommand cmd = new SqlCommand(sqlConsulta,conn);
SqlDataReader Dr;
DOCENTE: Ing. Martin Saavedra Julca - Electivo I

Pag. 2

try
{
conn.Open();
Dr = cmd.ExecuteReader();
lvDatos.Items.Clear();
ListViewItem item;
while (Dr.Read())
{
item = lvDatos.Items.Add(Dr["IdCliente"].ToString());
item.SubItems.Add(Dr["NombreCliente"].ToString());
item.SubItems.Add(Dr["RucDni"].ToString());
}
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
conn.Close();
cmd = null;
Dr = null;
}

private void lvDatos_ItemActivate(object sender, EventArgs e)


{
if (lvDatos.Items.Count == 0)
{
MessageBox.Show("No Hay Resultados en la Busqueda", "Modulo MATIV Soft",
MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
// Capturado los Datos requeridos
tCodigo = this.lvDatos.SelectedItems[0].SubItems[0].Text;
tNombre = this.lvDatos.SelectedItems[0].SubItems[1].Text;
bPasaValor = true;
this.Close();
}
}//Final de frmBuscarCliente
}

Controles en el Formulario Buscar:


Button1: btnConsultar
ListView : lvDatos
TextBox1: txtBuscarNombre

DOCENTE: Ing. Martin Saavedra Julca - Electivo I

Pag. 3

You might also like