lunes, 7 de noviembre de 2011

LLENAR COMBOBOX CON DATOS DE BASE DE DATOS SQL EN C#


En este ejercicio mostraremos registros de una tabla de una base de datos de SQLServer en un comboBox.

Elegimos la herramienta comboBox.

 Esta es la tabla Anime.
 Aquí sus registros.
 Conectamos C# con la base de datos.


 Tomamos la cadena de conexión de la base de datos y la pegamos en nuestro código.


Código:

 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.SqlClient;

namespace anime
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            llenacombobox();//llama al método llenacombobox al momento de cargar la forma
        }
         //método llenacombobox
public void llenacombobox()
        {
            //se declara una variable de tipo SqlConnection
            SqlConnection conexion = new SqlConnection();
             //se indica la cadena de conexion
            conexion.ConnectionString = @"Data Source=WOLFLANIX\SQLEXPRESS;Initial Catalog=hugo;Integrated Security=True";
            //código para llenar el comboBox
             DataSet ds = new DataSet();
             //indicamos la consulta en SQL
            SqlDataAdapter da = new SqlDataAdapter("SELECT Nombre_Anime FROM Anime WHERE Eliminado=0", conexion);
            //se indica el nombre de la tabla
             da.Fill(ds, "Anime");
            comboBox1.DataSource = ds.Tables[0].DefaultView;
             //se especifica el campo de la tabla
            comboBox1.ValueMember = "Nombre_Anime";
        }
      
    }
}


Al ejecutar el programa se cargará el comboBox con los registros del campo seleccionado.

LLENAR DATAGRIDVIEW CON DATOS DE SQL MEDIANTE CODIGO


En este ejemplo llenaremos una DataGridView con datos de una tabla de una base de datos de SQLServer.


Elegimos la herramienta DataGridView

Editamos sus columnas.



 Esta en particular sera de tipo CheckBox para mostrar si está eliminado o no el registro.



 Esta es la forma como están almacenados los datos en la tabla:

Damos doble clic en la forma para que aparezca el método Load y ahí llamaremos al método cargardatagridview.



Código:

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.SqlClient;//libreria para trabajar con qsl

namespace llenadatagridview
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //llama al método cargardatagridview
            //para llenar el datagridview al cargar la forma
            cargardatagridview();

        }
        public void cargardatagridview()
        {
            //declaramos la cadena  de conexion
            string cadenaconexion =@"Data Source=WOLFLANIX\SQLEXPRESS;Initial Catalog=hugo;Integrated Security=True";
            //variable de tipo Sqlconnection
            SqlConnection con = new SqlConnection();
            //variable de tipo Sqlcommand
            SqlCommand comando = new SqlCommand();
            //variable SqlDataReader para leer los datos
            SqlDataReader dr;
            con.ConnectionString = cadenaconexion;
            comando.Connection = con;
            //declaramos el comando para realizar la busqueda
            comando.CommandText = "SELECT ID_Anime,Nombre_Anime,Eliminado FROM Anime";
            //especificamos que es de tipo Text
            comando.CommandType = CommandType.Text;
            //se abre la conexion
            con.Open();
            //limpiamos los renglones de la datagridview
            dataGridView1.Rows.Clear();
            //a la variable DataReader asignamos  el la variable de tipo SqlCommand
            dr = comando.ExecuteReader();
            //el ciclo while se ejecutará mientras lea registros en la tabla
            while (dr.Read())
            {
                //variable de tipo entero para ir enumerando los la filas del datagridview
                int renglon = dataGridView1.Rows.Add();
                // especificamos en que fila se mostrará cada registro
                // nombredeldatagrid.filas[numerodefila].celdas[nombredelacelda].valor=
                // dr.tipodedatosalmacenado(dr.getordinal(nombredelcampo_en_la_base_de_datos)conviertelo_a_string_sino_es_del_tipo_string);
                dataGridView1.Rows[renglon].Cells["ID_Anime"].Value = dr.GetInt32(dr.GetOrdinal("ID_Anime")).ToString();
                dataGridView1.Rows[renglon].Cells["nombre_anime"].Value = dr.GetString(dr.GetOrdinal("Nombre_Anime"));
                dataGridView1.Rows[renglon].Cells["eliminado"].Value = dr.GetBoolean(dr.GetOrdinal("Eliminado"));

            }
            //cierra la conexión
            con.Close();
        }
    }
}



Al ejecutar el programa se cargará el datagridview con los datos.



viernes, 28 de octubre de 2011

RESUMEN SOBRE LOS SGBD (SISTEMAS GESTORES DE BASES DE DATOS)


Para dar una definición de un Sistema Gestor de Bases de Datos es necesario tener claro lo que es una base de datos, la cual se puede definir como una colección de datos almacenados ordenadamente bajo ciertas restricciones, las cuales permiten una fácil inserción de datos así como el rápido acceso a los mismos, poder modificarlos y su eliminación de forma apropiada y sencilla. Las restricciones y estructura de una base de datos están hechas a partir de la problemática que se quiere resolver o a la situación que se presenta. Para crear una base de datos que tenga la estructura que se desea tener y se puedan incluir las restricciones que resuelvan la problemática es necesario un software especializado en realizar esta labor, es entonces que se crean los SGDB (Sistemas Gestores de Bases de Datos).
 Los SGDB deben tener ciertas características indispensables para administrar una base de datos, alguna de ellas son las siguientes:
·         Manipulación de los datos, lo cual quiere decir que se puedan realizar las acciones de inserción, actualización y eliminación de los datos, esto de una manera sencilla tanto para el usuario como para el programador.
·         Control de la privacidad de los datos, es decir que se mantengan seguros mientras están almacenados y sus relaciones entre sí no se afecten al manipularlos.
·         Copia de seguridad y recuperación: es necesario que si llegasen a presentarse fallos en el sistema los datos anteriores al momento del fallo se mantengan intactos así como tener la posibilidad de generar copias de seguridad.
·         Implantación de la integridad, cuando insertemos o actualicemos los datos estos deben cumplir con las restricciones que se han fijado al crear la base de datos, de lo contrario sería posible almacenar un dato cuya longitud o tipo de dato no es el que se fijó al crear la base de datos.
·         Que sea posible definir los niveles de abstracción de una base de datos (físico, lógico y vistas).
·         Control de concurrencia, debe de ser posible que varios usuarios actualicen la base de datos de manera concurrente sin perder parte de los datos o su organización.
Inicialmente, en los años 40,  los Sistemas de Archivos generados a través de lenguajes de programación no propietarios como Cobol y Fortran, permiten almacenar los datos a través de archivos planos con funciones básicas de lectura y escritura sobre ellos.  En 1964, se crean los primeros Gestores de Base de Datos con lo cual se inicia la administración de los datos de manera similar a como se realiza actualmente.
Posterior a la aparición de los lenguajes de programación orientados a objetos los SGBD se especializan más y se crean los Sistemas de Gestión de Bases de Datos Relacionales (SGBDR) y los Sistemas de Gestión de Bases de Datos Documentales (SGBDD), esto para adaptarse a la nueva forma de estructurar los datos almacenados y a los lenguajes de programación orientados a objetos.
Ejemplos de SGBD son Oracle, SQL Server, Sybase, DB2, MySQL, PostgreSQL, SQLite y muchos otros más. Los cuales pueden soportar grandes cantidades de datos o pequeñas adaptando así a las necesidades de los usuarios, por ejemplo no es lo mismo un SGBD de un dispositivo móvil al que requiere una empresa para administrar su información.
Actualmente siguen apareciendo SGBD tanto comerciales como libres.
En la estructura básica de un Sistema Manejador de Base de Datos se requieren dos lenguajes que permiten trabajar sobre la base de datos.  Estos lenguajes estándar son:
·         DDL (Data Definition language): Lenguaje de Definición de Datos.  Por medio de este el SGDB identifica las descripciones de los elementos de los esquemas y almacena la descripción del esquema en el catálogo del SGBD.
Por medio de este el SGDB especifica el esquema conceptual e interno (Base de datos Almacenada).
 
  • SDL (Store Definition language): Lenguaje de definición de almacenamiento.  Es utilizado por el SGDB para especificar el esquema interno que corresponde a la Base de Datos Almacenada.
  • VDL (View Definition language): Lenguaje de Definición de Vistas.  Es utilizado por el SGDB para especificar las vistas del usuario y sus correspondiencias con el esquema conceptual.

Bibliografía.
Luque Ruiz Irene, Gómez Nieto Miguel Ángel, López Espinoza, Cerruela García Gonzalo (2002). Bases de Datos desde Chen hasta Codd con Oracle: Alfaomega Ra-Ma.
f. Korth Henry, Silverschatz Abraham (1995). Fundamentos de Bases de Datos (segunda edición): McGraw Hill

POTENCIAR UNA VARIABLE EN C#


           //Math.Pow eleva una variable a una potencia dada
            //su sintaxis es:
            Math.Pow(variable,potencia)
            //por ejemplo para elevar a la quinta potencia la variable num
            //y guardarla en la variable res se hace de la siguiente manera:
            double res,num=13;
            res = Math.Pow(num,5);

DETERMINAR RAIZ CUADRADA EN C#


//Math.sqrt determina la raiz cuadrada, para hacerlo la variable debe ser de tipo Double su sintaxis es:
            Math.Sqrt(variable)
            //por ejemplo
            //para obtener la raíz cuadrada de la variable num
            //y guardarla en la variable res se hace de la siguiente manera:
            double res,num=25;
            res = Math.Sqrt(num);

FORMULA GENERAL O CUADRATICA EN C#


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;

namespace regla_general
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btncalcula_Click(object sender, EventArgs e)
        {
            //declaración de variables de tipo Double
            double a, b, c,x1,x2;
            //obtenemos las variables a, b y c de los TextBox txta,txtb y txtc
            //para poder usarlas las convertimos a tipo Double
            a = Convert.ToDouble(txta.Text);
            b = Convert.ToDouble(txtb.Text);
            c = Convert.ToDouble(txtc.Text);
            //realizamos la operación de la fórmula general, para obtener los dos valores de x
            // se repite la operación sólo se cambia el signo del resultado de la raíz
            //Math.sqrt determina la raíz cuadrada y Math.Pow se usa para potenciar una variable
            x1 = (-b + (Math.Sqrt((Math.Pow(b, 2)) - (4 * a * c)))) / (2 * a);
            x2 = (-b - (Math.Sqrt((Math.Pow(b, 2)) - (4 * a * c)))) / (2 * a);
            //se imprimen los resultados de las x en sus respectivas etiquetas
            lbx1.Text = x1.ToString();
            lbx2.Text = x2.ToString();
            //las etiquetas se vuelven visibles pues su propiedad visible estaba en false
            lbx1.Visible = true;
            lbx2.Visible = true;
        }
    }
}














miércoles, 26 de octubre de 2011

VIII Simposium Nacional de Sistemas Computacionales e Informática (SINASCI 2011)

Los dias 18 ,19 y 20 de octubre del 2011 se llevó a cabo el VIII Simposium Nacional de Sistemas Computacionales e Informática SINASCI 2011 por parte del Instituto Tecnológico Superior de Lerdo en las instalaciones del centro de convenciones Posada del Río, el tema de este simposium  fue "Redes Sociales y Nuevos Medios de Comunicación".


Objetivo General
Dar a conocer los diversos aspectos de las redes sociales y las nuevas tendencias en dispositivos de comunicación en el marco de la tecnología informática

Objetivos específicos
·        Buscar la excelencia académica a la vez que se adquieren elementos para impulsar el desarrollo social y productivo de la región.
·        Proyectar una imagen positiva a escala nacional del Instituto Tecnológico Superior de Lerdo.
·       Atraer al sector productivo a colaborar con el Instituto Tecnológico Superior de Lerdo en materia de vinculación.
·        Fortalecer la base científico-tecnológica y de investigación del instituto tecnológico para la operativilidad en el sector productivo.

Cuota de recuperación
Ex-Alumnos: $ 300.00
Externos:      $ 480.00

Conferencia Inaugural:
Creando líderes de vanguardia
Lic. Fidel Gerardo Espinoza Gutiérrez

Panel:
Estrategias Empresariales de las Redes Sociales
Ing. Nancy Gabriela Marín Castañeda (moderadora)

Conferencia de cierre:
Camino al éxito
Lic. Azucena Armas Enríquez




Programa:
Los talleres del SINASCI 2011 se impartieron en los laboratorios del centro de Cómputo del Instituto planta alta. Por su parte las conferencias se celebraron en el centro de convenciones "Posada del Río" en la ciudad de Gómez Palacio.

Sábado 15 de Octubre - Talleres
8:00 hrs - TALLER VIRTUAL Silverlight EN REDES DE NEGOCIOS
Instructor: Ing. Rene Romero Tanus
Lugar: Laboratorio de Programación
Cupo: 25 personas
Se requieren conocimientos básicos de programación
8:00 hrs - TALLER DE PROGRAMACIÓN EN RUBY PARA WEB
Instructor: Ing. Guillermo Valdés Lozano
Lugar: Laboratorio TC2
Cupo: 25 personas
Se requieren conocimientos básicos de programación
8:00 hrs - GANA DINERO MIENTRAS DUERMES
Instructor: Lic. Oscar Barajas Tavares
Lugar: Laboratorio TC1
Cupo: 25 personas
Se requiere de preferencia contar con facebook y twitter

Miércoles 19 de Octubre
8:00 hrs - Registro de Participantes
9:00 hrs - Ceremonia de Inauguración
10:00 hrs - Creando líderes de vanguardia
Invitado: Lic. Fidel Gerardo Espinoza Gutiérrez. Dir. Gral. de Desarrollo Empresarial Integral. León, Gto., Méx.
12:00 hrs - Receso
12:15 hrs - Cuando perdimos el control de la información de las Redes Sociales
Invitado: Dr. Moisés Nathan Cielak Eichenbaum. Professor EGADE Business ITESM. México, D.F.
14:00 hrs - Comida
16:00 hrs - Generación C: El salto al Internet Social.
Invitado: MC. León Antonio Joannis Ortiz. Director General. NetXtend de México, S.A. DE C.V. Chihuahua, Chih., Méx.
17:30 hrs - Receso
17:45 hrs - Economía social y el cambio de las reglas del juego
Invitado: Ing. Antonio Torres Moreno. Director General Lievant Studio. León, Gto., Méx.

Jueves 20 de Octubre
9:00 hrs - Nuevas Tecnologías GPON Y FTTH
Invitado: MC. Enrique García Acosta Gerente de desarrollo y entrenamiento técnico. CINVESTAV México México, D.F.
10:30 hrs - Receso
10:45 hrs - Gestión del Perfil Empresarial en Redes Sociales
Invitado: Lic. Guillermo Molina Areas. Jefe de Mercadotecnia DILCALSE. Torreón, Coah., Méx.
12:15 hrs - Receso
12:30 hrs - Redes de Negocios con Silverlight
Invitado: Ing. René Romero Tanús. Director de Desarrollo y Capacitación Automatización Sysne de México S.A. de C.V. Puebla, Pue., Méx.
14:00 hrs - Comida
16:00 hrs - La Psicología y la Tecnología, amigos ó enemigos
Invitado: Lic. José Antonio Miranda Hernández. Director General NEURO TRAINING. Torreón, Coah., Méx.
17:30 hrs - Receso
17:45 hrs - Redes sociales: El aquí y el ahora.
Invitado: Lic. Hitzel Trejo Ramírez. Socio Fundador 2B-Smarht Marketing Inteligente. Torreón, Coah., Méx.

Viernes 21 de Octubre
9:00 hrs - Panel: Estrategias Empresariales de las Redes Sociales
Invitado: C.P. Marina Gutiérrez Lozano. Directora General Taller de Joyería Marina Gutiérrez
Invitado: Lic. Adrian Martínez Morales. Gerente de Mercadotecnia del Club Santos Laguna
Invitado: Lic. Oscar Barajas Tavares. Red de bitácoras NubeBlogs.com
Moderador: Ing. Nancy Gabriela Marín Castañeda. Docente del ITSL
11:00 hrs - Receso
11:15 hrs - Camino al éxito
Invitado: Lic. Azucena Armas Enríquez. Directora General Centro de Orientación y Terapia Familiar. Torreón, Coah., Méx.
13:00 hrs - Ceremonia de Clausura



Cartel:



Video del SINASCI 2011:





Kit del SINASCI 2011:
Incluye:
-Carpeta
-Pluma
-Bloc de hojas para anotaciones
-Tríptico del simposium
-Pulsera
-Hoja para preguntas
-Playera




Tríptico del SINASCI 2011



En el siguiente enlace existen algunas de las fotos que tomé durante la celebración de este gran evento.
Imagenes del SINASCI 2011: