예제 #1
0
        private void actualizador(string tabla)
        {
            Limpiador();
            for (int contador = 0; contador < 200; contador++) //for simple para limpiar los vectores cada vez que se va a caregar una tabla
                { DatosGrupos[contador] = null;
                  DatosTemas[contador] = null;}
            //Las siguientes lineas son para blanquear textboxs, borrar comboboxs y poner los numericupdown en su valor por defecto
            cmbAlbum.Items.Clear();
            cmbAutor.Items.Clear();
            cmbCompanias.Items.Clear();
            txtNombreGrupo.Text="";
            txtObservaciones.Text="";
            txtTituloTema.Text="";
            nmdDuracion.Value=1;
            nmdIdGrupo.Value=1;
            nmdIdTema.Value=1;
            nmdIntegrantes.Value=1;
            Conector();
            comando.CommandText = "select * from "+tabla;
            int registros = 0;
            if (cmbTablas.SelectedIndex == 0)//Si el combobox es igual a 0, el string sera igual a grupos, sino sera igual a temas
            {

                Adaptador=new SqlDataAdapter("select grupo.id_grupo,Grupo.descripcion,Grupo.id_compania,Companias.descripcion,cant_integrantes,solista_conjunto from grupo inner join companias on grupo.id_compania=companias.id_compania", conexion);

                if (llamada==false)
                    {Adaptador.Fill(Seteador, "Grupo");
                    dataGridView1.DataSource=Seteador;}
                else
                    {Adaptador.Fill(SeteadorClonado, "Grupo");
                    dataGridView1.DataSource=SeteadorClonado;}
                dataGridView1.DataMember="Grupo";
                Lector = comando.ExecuteReader();

                while (Lector.Read() == true)//Esto carga e vector con los registros de la tabla
                   	{
                    DatosGrupos[registros]=new Grupos();
                    DatosGrupos[registros].IdGrupo=Convert.ToInt32(Lector["id_grupo"]);
                    DatosGrupos[registros].Descripcion=Convert.ToString(Lector["descripcion"]);
                    DatosGrupos[registros].IdCompania=Convert.ToInt32(Lector["id_compania"]);
                    DatosGrupos[registros].Integrantes=Convert.ToByte(Lector["cant_integrantes"]);
                    DatosGrupos[registros].SolistaConjunto=Convert.ToByte(Lector["solista_conjunto"]);
                   	registros++;
                    }
                Lector.Close(); //Cerramos el datareader antes de hacer otra consulta, sino el programa tirara un error de que ya hay un DataReader abierto
                comando.CommandText="select * from Companias";
                Lector=comando.ExecuteReader();
                while (Lector.Read() == true)//Esto carga los registros del combobox de las companias
                   	{
                    cmbCompanias.Items.Add(Lector["descripcion"].ToString());
                    cmbCompanias.ValueMember=Lector["id_compania"].ToString();
                    }
               	}
            else
                {if (cmbTablas.SelectedIndex == 1)//Si el combobox es igual a 1, el string sera igual a temas (esta comprobacion extra es por si es necesario agregar mas tablas)
            {
                Adaptador = new SqlDataAdapter("select temas.id_album, album.titulo, temas.id_tema, temas.titulo, temas.id_autor, autores.nombre, temas.duracion, temas.observaciones from Temas, autores, album where Temas.id_album=Album.id_album and Temas.id_autor=Autores.id_autor ", conexion);

                if (llamada==false)
                    {Adaptador.Fill(Seteador, "Temas");
                    dataGridView1.DataSource=Seteador;}
                else
                    {Adaptador.Fill(SeteadorClonado, "Temas");
                    dataGridView1.DataSource=SeteadorClonado;}
                dataGridView1.DataMember="Temas";
                Lector = comando.ExecuteReader();

                while (Lector.Read() == true)
                   	{
                    DatosTemas[registros]=new Temas();
                    DatosTemas[registros].IdAlbum=Convert.ToInt32(Lector["id_album"]);
                    DatosTemas[registros].IdTema=Convert.ToInt32(Lector["id_tema"]);
                    DatosTemas[registros].IdAutor=Convert.ToInt32(Lector["id_autor"]);
                    DatosTemas[registros].Duracion=Convert.ToInt32(Lector["duracion"]);
                    DatosTemas[registros].Titulo=Lector["titulo"].ToString();
                    DatosTemas[registros].Observaciones=Lector["observaciones"].ToString();
                   	registros++;
                    }
                Lector.Close();
                comando.CommandText = "select * from Autores";
                Lector = comando.ExecuteReader();
                while (Lector.Read() == true)
                {
                    cmbAutor.Items.Add(Lector["nombre"].ToString());
                    cmbAutor.ValueMember = Lector["id_autor"].ToString();
                }
                Lector.Close();
                comando.CommandText = "select * from Album";
                Lector = comando.ExecuteReader();
                while (Lector.Read() == true)
                {
                    cmbAlbum.Items.Add(Lector["titulo"].ToString());
                    cmbAlbum.ValueMember = Lector["id_album"].ToString();
                }

                }

                }
            Lector.Close();
            conexion.Close();
        }
예제 #2
0
        void BtnTemasClick(object sender, EventArgs e)
        {
            bool modifonuevo;
            if (cmbAlbum.SelectedIndex != -1 || cmbAutor.SelectedIndex != -1 || txtObservaciones.Text != "" || txtTituloTema.Text != "")//Verifica que los controles no esten vacios (excepto los NumericUpDown, a esos no hace falta validarlos
            {
             	Cancion=new Temas();
             	Cancion.Duracion=Convert.ToInt32(nmdDuracion.Value);
             	Cancion.IdAlbum=Convert.ToInt32(cmbAlbum.ValueMember);
            Cancion.IdAutor =Convert.ToInt32(cmbAutor.ValueMember);
             	Cancion.IdTema=Convert.ToInt32(nmdIdTema.Value);
             	Cancion.Observaciones=txtObservaciones.Text;
             	Cancion.Titulo=txtTituloTema.Text;
            int contadorcillo=0;
            modifonuevo=false;
            while (modifonuevo == false && DatosTemas[contadorcillo]!=null)//Este while basicamente le indica al programa que mientras la bandera este en falso, que compruebe si el id del grupo del vector no es igual al que esta almacenado en el objeto actual; de ser asi, entonces el contador se incrementa y el while empieza de nuevo, sino pone la bandera en falso y el while termina
                {if (DatosTemas[contadorcillo].IdTema != Cancion.IdTema)
                        {contadorcillo++;}
                    else
                        {modifonuevo=true;}
                }

                if (modifonuevo == false)
                {
                    inconsulta = "insert into Temas (id_album,id_autor,duracion,titulo,observaciones) values (" + Cancion.IdAlbum + "," + Cancion.IdAutor + "," + Cancion.Duracion + ",'" + Cancion.Titulo + "','" + Cancion.Observaciones + "')";
                    }
                else
                    {inconsulta="update Temas set id_album="+Cancion.IdAlbum+",id_autor="+Cancion.IdAutor+",duracion="+Cancion.Duracion+",titulo='"+Cancion.Titulo+"',observaciones='"+Cancion.Observaciones+"' where id_tema="+Cancion.IdTema;
                    }
                Limpiador();
                Actualizador_y_modificador(inconsulta);
             }
            else
            {MessageBox.Show("¿No le esta faltando completar algun campo?. Por favor revise que no se este olvidando de nada y vuelva a intentarlo", "Error casi catastrofico", MessageBoxButtons.OK, MessageBoxIcon.Error);}
        }