• Ayuda C#!

 #411776  por c0ded93
 26 Abr 2013, 06:00
Hola amigos una pregunta tengo un listbox con varios items, lo que quiero hacer es cuando de click sobre uno de ellos pasarlo
a un textbox..

Ojala me puedan ayudar.. saludos
 #411786  por $DoC
 26 Abr 2013, 08:55
Esto es muy sencillo, no hacía falta abrir un tema xD
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    textBox1.Text = Convert.ToString(listBox1.SelectedItem);
}
Pones ese código para que cuando eliges un item se ponga el contenido en el textbox.

Un saludo
 #411788  por c0ded93
 26 Abr 2013, 10:04
$DoC escribió:Esto es muy sencillo, no hacía falta abrir un tema xD
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{

    textBox1.Text = Convert.ToString(listBox1.SelectedItem);
}
Pones ese código para que cuando eliges un item se ponga el contenido en el textbox.

Un saludo
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using Capa_Negocio;
using Capa_Entidad;
namespace Capa_Presentacion
{
    public partial class FrmProgram2 : Form
    {
        public FrmProgram2()
        {
            InitializeComponent();
        }
        CLSEntidad objEntidad = new CLSEntidad();
        CLSNegocio objNegocio = new CLSNegocio();
        private void FrmProgram2_Load(object sender, EventArgs e)
        {
            listBox1.DataSource = objNegocio.ListarGenero();
            listBox1.DisplayMember = "des_gen";
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
             //Tu solucion.... 
            txtlisb.Text = Convert.ToString(listBox1.SelectedItem);
            // listBox1.SelectedItem.ToString();
            objEntidad.Genero = txtlisb.Text;
            cbpelicula.DataSource = objNegocio.BuscarPeliculaGenero(objEntidad);
            cbpelicula.DisplayMember = "nom_pel";
            }
   

        private void cbpelicula_SelectedIndexChanged(object sender, EventArgs e)
        {

        }
    }
}
ERROR:




Thanx..
 #411791  por c0ded93
 26 Abr 2013, 11:14
$DoC escribió:Adjunto proyecto para que veas como yo lo tengo funcionando.

[ Debe registrarse para ver este enlace ]

Un saludo

Lo que quiero hacer es esto!



acá te dejo la db: [ Debe registrarse para ver este enlace ] (SQL SERVER)

acá te dejo los procedimientos Almacenados:
use BDVIDEOS2012
if exists(select * from sysobjects where name='Listar_Genero' and type='p')
drop proc Listar_Genero
go
create proc Listar_Genero
as
select des_gen from Genero

if exists(select * from sysobjects where name='Listar_Pelicula' and type='p')
drop proc Listar_Pelicula
go
create proc Listar_Pelicula
@nom varchar(80)
as
select p.nom_pel from peliculas p,Genero g
where g.cod_gen=p.cod_gen and [email protected]

if exists(select * from sysobjects where name='Sp_Alquileres' and type='p')
drop proc Sp_Alquileres
go
create proc Sp_Alquileres
@nom varchar(80)
as
select a.num_alq,convert(varchar,a.fecha_pres,103) as Fecha_Prestamo,convert(varchar,a.fecha_dev,103)
as Fecha_Dev,SUM(d.cant) as Cant_Copias
from alquiler a,peliculas p,detalle_alquiler d
where a.num_alq=d.num_alq and d.cod_pel=p.cod_pel and [email protected]
group by  a.num_alq,convert(varchar,a.fecha_pres,103),convert(varchar,a.fecha_dev,103)
go

Ojala Me puedas Ayudar!


saludos e Gracias
 #411799  por Fakedo0r
 26 Abr 2013, 15:04
En la clase CLS_Funciones tienes la variable de la conexión a la base de datos, necesitas modificarla, supongo que eso si puedes hacer (?).



[ Debe registrarse para ver este enlace ]


Otros haciendo la practica por ti, no aprendes nada.
Saludos.
 #411834  por c0ded93
 26 Abr 2013, 22:46
Fakedo0r escribió:En la clase CLS_Funciones tienes la variable de la conexión a la base de datos, necesitas modificarla, supongo que eso si puedes hacer (?).



[ Debe registrarse para ver este enlace ]


Otros haciendo la practica por ti, no aprendes nada.
Saludos.

No es mi Practica baje un curso de C# y venia eso y queria resolverlo XD!
apenas voy a la escuela bro, igual gracias.
 #411871  por c0ded93
 27 Abr 2013, 10:48
Fakedo0r escribió:En la clase CLS_Funciones tienes la variable de la conexión a la base de datos, necesitas modificarla, supongo que eso si puedes hacer (?).



[ Debe registrarse para ver este enlace ]


Otros haciendo la practica por ti, no aprendes nada.
Saludos.

Gracias

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.Sql;
using System.Data.SqlClient;

namespace Practica_DB
{
    public partial class FRM_Main : Form
    {
        List<CLS_Genero> tListaGenero = new List<CLS_Genero>();
        List<CLS_Pelicula> tListaPelicula = new List<CLS_Pelicula>();

        public FRM_Main()
        {
            InitializeComponent();
        }

        private void FRM_Main_Load(object sender, EventArgs e)
        {
            cargarGenero();
        }

        private void LSB_Categorias_Click(object sender, EventArgs e)
        {
            cargarPeliculas(tListaGenero.ElementAt(LSB_Categorias.SelectedIndex).getCodigo());
        }

        private void CMB_Pelicula_SelectedIndexChanged(object sender, EventArgs e)
        {
            cargarAlquiler(tListaPelicula.ElementAt(CMB_Pelicula.SelectedIndex).getCodigo());
        }

        private void cargarGenero()
        {
            LSB_Categorias.Items.Clear();
            tListaGenero.Clear();

            SqlDataReader tSqlReader = CLS_Funciones.sqlQuery("SELECT cod_gen, des_gen FROM Genero");

            while (tSqlReader.Read())
            {
                CLS_Genero tGenero = new CLS_Genero(tSqlReader.GetValue(0).ToString(), tSqlReader.GetValue(1).ToString());
                tListaGenero.Add(tGenero);

                LSB_Categorias.Items.Add(tSqlReader.GetValue(1).ToString());
            }

            CLS_Funciones.cerrarConexion();
        }

        private void cargarPeliculas(String sCodigoGenero)
        {
            CMB_Pelicula.Items.Clear();
            tListaPelicula.Clear();

            SqlDataReader tSqlReader = CLS_Funciones.sqlQuery("SELECT cod_pel, nom_pel FROM peliculas WHERE cod_gen = '" + sCodigoGenero + "'");

            while (tSqlReader.Read())
            {
                CLS_Pelicula tPelicula = new CLS_Pelicula(tSqlReader.GetValue(0).ToString(), tSqlReader.GetValue(1).ToString());
                tListaPelicula.Add(tPelicula);

                CMB_Pelicula.Items.Add(tSqlReader.GetValue(1).ToString());
            }

            CLS_Funciones.cerrarConexion();
        }

        private void cargarAlquiler(String sCodigoPelicula)
        {
            String sQuery = "SELECT a.fecha_pres, a.fecha_dev, da.num_alq, da.cant " +
                            "FROM alquiler a INNER JOIN detalle_alquiler da " +
                            "ON a.num_alq = da.num_alq " +
                            "AND da.cod_pel = '" + sCodigoPelicula + "'";

            Console.WriteLine(sQuery);

            SqlDataAdapter tSqlDataAdapter = new SqlDataAdapter(sQuery, CLS_Funciones.CST_CONNECTION_STRING);
            SqlCommandBuilder tCommandBuilder = new SqlCommandBuilder(tSqlDataAdapter);

            DataTable tTabla = new DataTable();
            tTabla.Locale = System.Globalization.CultureInfo.InvariantCulture;
            tSqlDataAdapter.Fill(tTabla);

            DGV_Alquiler.DataSource = tTabla;
        }

        private void LSB_Categorias_SelectedIndexChanged(object sender, EventArgs e)
        {

        }
    }
}
Me podrías explicar esas lineas Saludos.
 #411888  por Fakedo0r
 27 Abr 2013, 15:54
Espero que me haya explicado lo bastante para que entiendas pero en todo caso si no sabes POO (Programación orientada a objetos) y ADO.NET (Componentes de .NET para tratar base de datos), entonces te costara.
public partial class FRM_Main : Form
    {
        List<CLS_Genero> tListaGenero = new List<CLS_Genero>(); // Array de CLS_Genero
        List<CLS_Pelicula> tListaPelicula = new List<CLS_Pelicula>(); // Array de CLS_Pelicula

        public FRM_Main() 
        {
            InitializeComponent(); // Esto es por defecto, es para inicializar los componentes de la GUI
        }

        private void FRM_Main_Load(object sender, EventArgs e)
        {
            cargarGenero(); // Llamamos la funcion para cargar el array con generos y mostrar en el listbox
        }

        private void LSB_Categorias_Click(object sender, EventArgs e)
        {
            // Aquí con el index seleccionado en el listbox obtenemos el codigo del genero y pasamos como argumento
            // a la función para posteriormente obtener todas las peliculas de este genero
            cargarPeliculas(tListaGenero.ElementAt(LSB_Categorias.SelectedIndex).getCodigo()); 
        }

        private void CMB_Pelicula_SelectedIndexChanged(object sender, EventArgs e)
        {
            // Aquí con el index seleccionado en el combobox obtenemos el codigo de la pelicula
            // y nuevamente pasamos como argumento a la funcion para obtener la lista de alguiler 
            // relacionada con esta pelicula
            cargarAlquiler(tListaPelicula.ElementAt(CMB_Pelicula.SelectedIndex).getCodigo());
        }

        // No servira para cargar todos los generos disponibles en la base de datos
        private void cargarGenero()
        {
            // Limpiamos el listbox
            LSB_Categorias.Items.Clear();
            // Limpiamos el array
            tListaGenero.Clear();

            // SqlDataReader <= Esta clase nos sirve para leer de forma secuencial en una base de datos
            // Aquí le paso mi query y el resultado lo almaceno en el objeto "tSqlReader"
            SqlDataReader tSqlReader = CLS_Funciones.sqlQuery("SELECT cod_gen, des_gen FROM Genero");

            // Aquí le digo, mientras lea, es decir, mientras haya algo pa leer que siga
            while (tSqlReader.Read())
            {
                // Aquí instanciamos nuevo objeto y le paso como argumentos el codigo de genero y el nombre
                CLS_Genero tGenero = new CLS_Genero(tSqlReader.GetValue(0).ToString(), tSqlReader.GetValue(1).ToString());
                // Aquí le añado al array de generos
                tListaGenero.Add(tGenero);
                // Aquí añado el nombre al listbox
                LSB_Categorias.Items.Add(tSqlReader.GetValue(1).ToString());
            }

            // Cierro la conexion a la base de datos
            CLS_Funciones.cerrarConexion();
        }

        // No servira para cargar todos las peliculas disponibles de un genero especifico
        private void cargarPeliculas(String sCodigoGenero)
        {
            // Limpìamos el combobox
            CMB_Pelicula.Items.Clear();
            // Limpiamos el array de peliculas
            tListaPelicula.Clear();

            // Aquí, otra vez le paso mi query y el resultado lo almaceno en el objeto "tSqlReader"
            SqlDataReader tSqlReader = CLS_Funciones.sqlQuery("SELECT cod_pel, nom_pel FROM peliculas WHERE cod_gen = '" + sCodigoGenero + "'");

            // Aquí le digo, mientras lea, es decir, mientras haya algo pa leer que siga
            while (tSqlReader.Read())
            {
                // Aquí instanciamos nuevo objeto y le paso como argumentos el codigo de genero y el nombre
                CLS_Pelicula tPelicula = new CLS_Pelicula(tSqlReader.GetValue(0).ToString(), tSqlReader.GetValue(1).ToString());
                // Aquí le añado al array de peliculas
                tListaPelicula.Add(tPelicula);
                // Aquí añado el nombre al combobox
                CMB_Pelicula.Items.Add(tSqlReader.GetValue(1).ToString());
            }

            // Cierro la conexion a la base de datos
            CLS_Funciones.cerrarConexion();
        }

        // No servira para cargar todos los alquileres disponibles de una pelicula especifica
        private void cargarAlquiler(String sCodigoPelicula)
        {
            // Mi consulta
            String sQuery = "SELECT a.fecha_pres, a.fecha_dev, da.num_alq, da.cant " +
                            "FROM alquiler a INNER JOIN detalle_alquiler da " +
                            "ON a.num_alq = da.num_alq " +
                            "AND da.cod_pel = '" + sCodigoPelicula + "'";

            // SqlDataAdapter <= Es un clase que nos sirve para obtener o guardar datos
            // Le paso mi query y la conexion a la base de datos
            SqlDataAdapter tSqlDataAdapter = new SqlDataAdapter(sQuery, CLS_Funciones.CST_CONNECTION_STRING);
            // SqlCommandBuilder <= es una clase que nos sirve para establecer los cambios realizados
            SqlCommandBuilder tCommandBuilder = new SqlCommandBuilder(tSqlDataAdapter);
            // Esto es una tabla de base de datos pero en memoria, o sea, virtual
            DataTable tTabla = new DataTable();
            // Con el metodo Fill lleno la tabla con el resultado obtenido de la base de datos
            tSqlDataAdapter.Fill(tTabla);
            // Muestro los datos en el DataGridView
            DGV_Alquiler.DataSource = tTabla;
        }
    }
Saludos.