Tutoriales de C# y .Net

Para todos aquellos interesados en material, videos, cursos en linea, aqui van una serie de paginas de donde podran obtener gran cantidad de informacion sobre C#, algunas de ellas gratuitas y otras no, pero vale la pena darles un vistaso a todas.

Summer Webcast Series (Grabaciones de platicas en linea sobre: Windows 7, Microsoft Application Virtualization, Microsoft XNA,  Silverlight & Expression Blend).

http://msdn.microsoft.com/es-es/library/1dbsh6t3(VS.80).aspx (Pagina en donde podran encontrar variada informacion sobre C# 2005).

http://www.elguille.info/ (Una pagina con excelentes articulos, sobre .Net)

http://mredison.wordpress.com/category/c/ (Excelente pagina del MSP Edison, encontraran informacion bastante util).

Nota, aunque esta lista aun es corta, espero ir incrementandola, tanto con las busquedas que realize y con las que ustedes puedan compartir.

Anuncios

Conectar MySQL con .NET, Tutorial C#

Pues despues de mucho tiempo de espera aqui les traigo la segunda parte y ultima de como conectarse desde visual studio.Net 2008 a una base de datos de MySQL, primero que nada tienen que leer y seguir los paso mencionados en el primer post Conectar MySQL con .NET Parte 1, para que puedan trabajar.

Lo que vamos a hacer es conectarnos a una base de datos, hacer una consulta y mostrarla en una linea de comandos, para esto abrimos Visual Studio 2008 y creamos un nuevo proyecto de consola y le asignamos un nombre y le damos en aceptar, ya que nos haya generado el proyecto le damos en el “Solution Explorer” y cargamos el dll de MySQL, igual que se especifica en el post anterior.

una vez hecho esto vamos a crear nuestra coneccion con MySQL, para esto agregamos el siguiente codigo en un metodo o una clase aparte:

        public static string Consulta() {
            string path = "DataBase=test;DataSource=localhost;Port=3306";
            string consulta = "";
            try
            {
                MySqlConnection con = new MySqlConnection(path);
                con.Open();
            }
            catch (Exception ex) { }
        } 

Donde Path contiene el nombre de la base de datos, el origen de la base de datos y el puerto desde el cual se esta ejecutando MySQL, todos estos campos son necesarios para poder hacer la coneccion, despues de especificar esto en una variable string, lo que hacemos es crear una variabl del tipo “MySqlConnection” que es la que nos va permitir hacer la coneccion y es por eso que le tenemos que pasar como parametro el string creado anteriormente. Una vez creado el anlace es necesario abrir la coneccion para poder trabajar sobre la base de datos, esto es simple solo es variable.Open();

Ya estamos conectados con nuestra base de datos, ahora lo que necesitamos es poder trabajar sobre ella, en este caso solo mostraremos como hacer una consulta, para esto necesitamos usar 2 variables de diferentes tipo la primera sera del tipo “MySqlDataAdapter” y la otra del tipo “DataSet”, (Para poder utilizar la variable DataSet es necesario utilizar la libreria System.Data) Ahora para hacer la consulta ingresamos el siguiente codigo:

                string query = "select * from users";

                MySqlDataAdapter da = new MySqlDataAdapter(query,con);

                DataSet ds = new DataSet();

                da.Fill(ds,"tablas");

                con.Close();

Donde la variable query de tipo string es la consulta a realizar, en este caso yo estoy seleccionando todos los campos de la tabla user, en la siguiente linea mi dataAdapter me permitira realizar la consulta en la base de datos, es decir Visual Studio en si no hace la consulta, hace la peticion a MySQL y este solo regresa los resultados que posteriormente nosotros vamos a almacenar en nuestro DataSet.

Hasta hora todo facil, lo siguiente es mostrar nuestros resultados en la linea de comandos para eso solo ingresamos el siguiente codigo:

                int tam = ds.Tables["tablas"].Rows.Count;

                for (int i = 0; i < tam; i++) {

                    consulta += ds.Tables["tablas"].Rows[i][1].ToString() + "\n";

                }

Con esto lo que hacemos es almacenar el numero de filas de la tabla en la variable tam, que despues utilizaremos para acceder a cada fila dentro de la tabla por medio de un for, cabe destacar que ahorita no estamos trabajando directamente sobre la Base de datos es decir que solo estamos trabajando sobre los datos recuperados y almacenados en el dataset.

ahora en el voidMain solo colocamos el siguiente codigo

 static void Main(string[] args)

        {

            Console.WriteLine(Consulta());

            Console.ReadLine();

        } 

Y con eso terminamos este pequeno tutorial, al final pudimos acceder a la base de datos de MySQL hacer una consulta y obtener los resutlados que despues almacenamos en una variable y a su vez pudimos mostrarlos en una linea de comandos, eso es todo por el momento espero les sirva y les ayude.

result

Cualquier duda, comentario o sugerencia, por favor comentenlo.

Como Iniciar un Storyboard de WPF en C#

Primero quiero aclarar que no es lo mismo WPF & Silverlight, ya que aunque los dos usan código XAML & C# hay cosas que no puedes hacer con uno o con otro, por ejemplo lo de los Storyboard, en Silverlight es mas fácil de usar que en WPF, hasta donde recuerdo con asignarle un nombre a nuestro Storyboard, lo podíamos usar desde nuestro código en C#, como cualquier control, por ejemplo:

<Storyboard x:Name=”storyboard” x:Key=”storyboard”>

    ………………………..

</Storyboard>

y ya en nuestro código de C#, poníamos, ” this.storyboard.begin() “, y listo nuestra animación empezaba.

Pero en WPF, desafortunadamente no es lo mismo, porque aunque le puse el nombre, no me aparecía como con Silverlight, entonces lo que tenemos que hacer primero es crear una variable del tipo Storyboard en C# y después buscar el storyboard que creamos en Blend, con ayuda de la propiedad FindResource, para poder asignárselo a nuestra variable y poder usar su propiedad Begin.

Storyboard sb = (Storyboard)this.FindResource(“storyboard’);

sb.Begin();

Y con eso nuestra animación empezara, si no pueden crear una varible tipo Storyboard, es por que les falta importar el System.Windows.Media.Animation;

Eso es todo por el momento, espero les sirva, y cualquier duda, comentario o critica es bien recibida.

Timer en C#

Para poder usar un timer en C# o Visual Basic es necesario que sepamos hacer conversiones de medidas, digamos entre minutos a segundos y a milisegundos. Se preguntaran, por que hablo de conversión de medidas, a pues muy fácil, en Visual Studio 2008 cuando trabajamos con el namespace System.Timers para poder trabajar con timers las unidades de tiempo se especifican en milisegundos, por ejemplo, creamos un objeto de la clase timer:

Timer time = new Timer();

y queremos especificar la propiedad Interval a 5 minutos, que es la que le dice al timer el tiempo que estará activo, entonces tendremos que ponerlo de la siguiente forma:

time.Interval = 300000;

Esto porque 5 min =300 segundos (5*60)  y 300 segundos = 300000 milisegundos (300*1000).

Con eso nuestro timer estará activo por 5 minutos.

Espero les sea de utilidad.

Hash table in C# and Visual Basic 2008

Que es Hash table, Basicamente es una estructura de datos con 2 elementos, un identificador y el dato asociado a este dato. Es decir cada elemento dentro de un Hast table cuenta con un identificador y un valor, para ser mas claros, veamos que dice Wikipedia al respecto:

“In computer science, a hash table, or a hash map, is a data structure that associates keys with values. The primary operation it supports efficiently is a lookup: given a key (e.g. a person’s name), find the corresponding value (e.g. that person’s telephone number). It works by transforming the key using a hash function into a hash, a number that is used as an index in an array to locate the desired location (“bucket”) where the values should be.”

Bueno, cabe mensionar que este es un termino general, y no exclusivo de Visual Studio, tambien es implementado en Java, Action Script, Java Script, etc.

Hablando de Visual Studio, El .Net Framework cuenta con una clase no generica llamada hashtable, que nos permite implementar este tipo de estructura y varias propiedades tipicas de esta, de forma muy facil, aqui un ejemplo:

Using System.Collections;

Hashtable familia = new Hashtable();

    familia.Add(“Padre”, “Fulanito de tal”);

    familia.Add(“Madre”, “Perenganita de tal”);

    familia.Add(“Hijo”, “Chavito de tal”);

System.Console.WriteLine(“El papa se llama: {0}, la mama se llama: {1} y tienen un hijo llamado:{2}”, familia[“Padre”], familia[“Madre”], familia[“Hijo”]);

 System.Console.ReadLine();

Eso es todo como se podran dar cuenta, es muy facil su funcionamiento, espero les sirva, Excelente funcion.