hacker


Ingresar con nombre de usuario, contraseña y duración de la sesión
| Portal Hacker | Editorial | Descargas | Ezine |
Inicio Ayuda Ingresar Registrarse
30 de Agosto de 2008, 06:34:20
Noticias: La 1era E-Zine de CPH ya fue liberada, encuentrala
Para ver este enlace Registrate o Inicia Sesion
> aquí

+  Foros pOrtal Hacker
|-+  Programacion
| |-+  Programación en general
| | |-+  Visual Studio.Net (Moderador: Mace Windu)
| | | |-+  Manual - Visual C# & MySQL
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Manual - Visual C# & MySQL  (Leído 628 veces)
ranefi
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1,193


SELECT * FROM guapos WHERE papito_chulo = 'ranefi'


Ver Perfil WWW
« : 01 de Noviembre de 2007, 03:14:28 »

La vida da giros sorpresivos y nosotros, como aprendices de la vida, sabemos aprovecharlos; algunas veces esos giros son para bien, otros... Bueno, algunos digamos que son un poco abstractos; eso mismo es lo que ha pasado, no sólo con un servidor, sino con todo homosapiens que se dedica a este arte, arte recién valorado en algunas ciudades de nuestro hermoso país; ¿de qué hablo? Está claro, hablo de .NET, la nueva y correcta forma de programar, quizás impuesta por el imperio invencible de papá Gates, pero diabólicamente atrayente para cualquier programador. Para resumir, les mencionaré dos lenguajes de programación que están formando parte de este gran renovación a nivel mundial; Visual Basic .NET y C# .NET. Obviamente esta tecnología no fue creada exclusivamente para estos gigantes de la programación de alto nivel, al contrario, la tecnología .NET Framework fue diseñada para la comodidad del programador; ¿qué quiere decir esto? Simple, quiere decir que un programador de Delphi o de PHP, Perl o Phyton puede realizar aplicaciones con .NET. Pero ya dejando a un lado los efectos de la diarrea verbal, me dispongo a ofrecerles una irreverente escupida de información. En este mini tutorial de C# con MySQL utilizando un archivo de configuración llamado normalmente App.Config para extraer la cadena de conexión la cual, como ya muchos de ustedes saben, nos permitirá llevar a cabo la conexión al servidor de base de datos.
¿Por qué C# y no Visual Basic? Porque se me pega mi marrana gana, por eso, buuuuuajajajja ajajajjaajajaj a :p, no, la verdad es que hoy en día, con motivos de estandarización, la mayoría de las compañías están solicitando el desarrollo de aplicaciones con C# y no con VB .NET. Pues bueno, comencemos.


¿Qué se necesita?

1.- Visual C# .NET
2.- MySQL Server
3.- El conector llamado mysql-connector-odbc-3.51.12-win32.msi (no estoy muy seguro de que se necesite, pero de igual forma instálenlo)
4.- Una base de datos con una tabla con 3 campos y unos 3 registros (no sean bestias, no debe ser exactamente como lo dije)
5.- Conocer lo básico sobre su servidor de base de datos, base de datos y tabla recién creada. (Servidor, usuario, password, etc.)


Creando el cochino proyecto

Para empezar abrimos Visual C# e introducimos un nombre al proyecto, después damos clic en Crear.



Noten que el IDE (Todo el mugrero que se ve) es idéntico a nuestro amado Visual Basic 6.0, sólo que un poco más bonito.



Del lado izquierdo encontrarán la barra de herramientas, la cual contiene todos los controles que se pueden utilizar. Comencemos introduciendo 3 controles llamados TextBox a nuestro formulario. Posteriormente introducimos un control llamado Button.




Nuestro formulario debe parecerse a algo como esta cochinada.



Ahora ubiquen el Explorador de Soluciones (La mugre que se encuentra a nuestra derecha), den un clic sobre el icono que dice Form1.cs y luego presionan el icono de ver código (el mismo que viene en Visual Basic 6.0)



Ahora estarán viendo un montón de código, el cuál, a pesar de la flojera crónica que me ha estado acosando durante varias semanas, dividí en un rango de bloques desde la letra A hasta la D.

Bloque A. En dicho bloque se muestran los namespaces (Espacios de nombre) que se usarán en nuestra clase, en este caso Form1.cs

Bloque B. En esta parte del código vemos un namespace definido con un nombre en particular. Si notan, el namespace está formado por dos llaves ({}), la que se encuentra al principio del código y la que se encuentra al final. Es muy importante aprender a utilizarlos ya que nos permitirán darle un orden a nuestro código.

Bloque C. Aquí vemos como la clase está creada con el nombre de Form1, pero no sólo eso, no, también vemos que hereda una clase, dicha clase es llamada Form. ¡Bah! No se asusten mijas, la herencia es tan fácil como mentarle la madre a la putusa, sólo estudien bien ese término. Una explicación muy burda de lo que es una clase sería cuando una clase obtiene las propiedades de otra…… Hasta aquí les explicaré, ya que no es motivo de este manual el entender conceptos básicos en la programación.

Bloque D. Aquí vemos el constructor de la clase Form el cual contiene un método que inicia todos los controles agregados en nuestro formulario entre otras cosas. ¿Qué diablos es un constructor? Quizás algunos se pregunten esto, emmmm bueno, no quiero explicarlo pues sería un poco confuso pero ¡bah, qué diablos! Me gusta hacer sufrir a la gente, un constructor es una mugre que le da diferentes usos a una clase, dichos constructores pueden ser sobrecargados y así manipular alguna que otra propiedad a conveniencia…. Ajajajajajajaj ajajaa, sabía que iba a ser confuso, saben, eso es algo que no se entiende hasta que se ha utilizado, así que no se preocupen por esa babosada, que lo que importa en estos momentos es aprender a utilizar MySQL con C# (al menos un poco)



Utilizando App.Config
Ahora demos clic derecho sobre el icono del proyecto, sí, la cochinada negra que encierra un icono en la imagen siguiente, situemos el icono en donde dice Agregar y demos clic en Nuevo Elemento…



Ahora localicemos un icono que diga Archivo de configuración de aplicaciones y demos doble clic sobre él (el nombre del archivo déjenlo como está)



Ahora lo siguiente será agregar una cadena de conexión a nuestro App.Config, ¡ups! No les expliqué para que sirve esta cochinada, pues bueno, es simple, sirve para agregar configuracione s de nuestro proyecto, entre ellas las de cadenas de conexión que nos permitirán acceder a las bases de datos. ¡Oh! Ahora andan muy listos, claro que sí, podemos agregar un friego de cadenas de conexión y hasta reciclar nuestro App.Config, ahora sí se tomaron su Chocomilk, bueno, mientras no sea lo que toma siempre la mamita de putusa….. Hey batos, nomás no sean bestias, ese código debe encontrarse dentro de <configuration></configuration>…. Vean la imagen mijas.

Código:

<connectionStrings>
<add
name="MySQLConnection"
providerName="System.Data.odbc"
connectionString="Driver={MySQL ODBC 3.51 DRIVER};UID=root;Password=;Server=colibri;Option=16834;Database=test"
/>
</connectionStrings>




Ahora sitúense en el editor de código de Form1.cs (simplemente den clic en el icono llamado Form1.cs en el Explorador de soluciones y posteriormente clic en Ver código); ya encontrándose en Form1.cs, vayan a la parte en donde se definen los namespaces que se van a utilizar y agreguen dos namespaces:
Código:

using System.Data.Odbc;
using System.Configuration;




Ahora vamos a agregar una referencia de System.Configu rations; para eso vamos a Proyecto---Agregar Referencia…




Nos aparecerá un cuadro en el cual deberemos localizar la referencia llamada System.Configu ration, cuando la localicemos, damos un clic sobre ella y luego clic en Aceptar (esta referencia es para poder utilizar una parte del código que nos permite extraer la cadena de conexión).



Ahora lo que resta es agregar el código, para eso copien y peguen (o mejor lean el código y escríbanlo, pa que se les quede batos flojos)

Código:

private void button1_Click(object sender, EventArgs e)
        {
            String strMySQLCnnString =
                ConfigurationManager.ConnectionStrings["MySQLConnection"].ToString();
            String strConnectionString = "SELECT * FROM tabla";

            OdbcConnection odbcCnn = new OdbcConnection(strMySQLCnnString);
            OdbcCommand odbcCmd = new OdbcCommand(strConnectionString,odbcCnn);

            try
            {
                odbcCnn.Open();

                OdbcDataReader odbcDr = odbcCmd.ExecuteReader();

                if (odbcDr.Read())
                {
                    textBox1.Text = (String)odbcDr["Campo1"];
                    textBox2.Text = (String)odbcDr["Campo2"];
                    textBox3.Text = (String)odbcDr["Campo3"];

                    odbcDr.Close();
                    odbcDr.Dispose();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Chincheros, otra vez la mamá de putusa:" +
                    ex.ToString());
            }
            finally
            {
                odbcCnn.Close();
                odbcCnn.Dispose();
                odbcCmd.Dispose();
            }
        }


Dicho código deberán ubicarlo después de la finalización del constructor (ya saben cuál es, no se hagan bueyes)


Ejecutando nuestro marranada

Ya terminado todo, sólo debemos ejecutar nuestra aplicación y obviamente nuestro servidor MySQL deberá estar iniciado con los requisitos que arriba les indiqué. Deberá verse un registro como en la imagen siguiente.



Explicando el código (qué maldita flojera)

Pues bueno, comencemos con la primer parte.

Código:

private void button1_Click(object sender, EventArgs e)
{
}


Esto sólo es la definición de un evento para nuestro control llamado Button1, su evento en este caso es el Click

En esta parte únicamente declaramos dos variables de tipo String las cuales son inicializadas de una vez, una con la extracción de la cadena de conexión (strMySQLCnnStr ing) y la otra con la consulta que vamos a realizar (strConnectionS tring) (me equivoqué al ponerle ConnectionStri ng, pero bueno, eso es lo de menos, el código aún funciona :p)

Código:

String strMySQLCnnString =  ConfigurationManager.ConnectionStrings["MySQLConnection"].ToString();
String strConnectionString = "SELECT * FROM tabla";


En el siguiente código lo que hacemos es declarar dos variables, una del tipo odbcConnection (odbcCnn) la cual contiene la cadena de conexión y la otra del tipo odbcCommand (odbcCmd) que contiene la consulta SQL y la conexión.

Código:

OdbcConnection odbcCnn = new OdbcConnection(strMySQLCnnString);
            OdbcCommand odbcCmd = new OdbcCommand(strConnectionString,odbcCnn);


En esta parte vemos los bloques try/catch/finally los cuales nos permiten intentar una acción (try), atrapar un error (catch) y finalmente ejecutar algo después de esos dos bloques con la diferencia de que siempre se ejecutará en el código sin importar que en cual de los bloques anteriores pasaron nuestras instrucciones (finally)

Dentro de try encontraremos el código que nos permitirá abrir la conexión a nuestro servidor de base de datos (primer línea)

Código:

odbcCnn.Open();


Posteriormente encontraremos la creación de una variable del tipo de DataReader con el valor de la variable del tipo Command la cual únicamente nos especifica que el comando SQL que se ejecutó fue una consulta y no una inserción o actualización o eliminación de información.

Código:

OdbcDataReader odbcDr = odbcCmd.ExecuteReader();


En la siguiente línea encontramos una sentencia if, la cual nos hace saber si nuestro DataReader ha leído los datos que se consultaron, ya dentro del bloque if encontraremos que se insertan a la propiedad Text de los controles TextBox el valor de cada campo del primer registro encontrado y después se cierra el DataReader y se libera el Garbage Collector.

Código:

if (odbcDr.Read())
{
         textBox1.Text = (String)odbcDr["Campo1"];
         textBox2.Text = (String)odbcDr["Campo2"];
         textBox3.Text = (String)odbcDr["Campo3"];

         odbcDr.Close();
         odbcDr.Dispose();
}


Ya dentro de catch únicamente atraperemos el posible error que aparezca y mostraremos un cochino cuadro de mensaje más la variable del tipo Exception

Código:

MessageBox.Show("Chincheros, otra vez la mamá de putusa:" +
                    ex.ToString());


Y por último, ya dentro del bloque finally cerraremos la conexión y liberaremos el Garbage Collector para nuestra conexión y nuestro comando.

Código:

odbcCnn.Close();
odbcCnn.Dispose();
odbcCmd.Dispose();


Conclusiones

Quizá este manual sea uno de los más mediocres que haya hecho en toda mi vida, pero lo hice con la pura intención de introducir a los no iniciados en esta nueva tecnología y claro, también para aquellos que con el simple hecho de escuchar C# se les pone la carne de gallina y se persignan al mismo tiempo que rezan diez Padres nuestros (la putusa se autoflagela con un dildo rasposo).

Ya para terminar sólo les pido que estudien unos cuantos conceptos que les ayudarán a entender todo este hermoso arte; dichos conceptos son: Herencia, Constructores, Clases y por qué no, también Polimorfismo, Encapsulamient o y POO (ya de paso un poco la sintaxis de Visual C#).

Y POR FAVOR, NO SE DESESPEREN, TODO ES CON PACIENCIA, RECUERDEN QUE A LA FUERZA NI A PUTUS LE ENTRA.

Saludos a todos y se me cuidan mucho que ya se viene el norte y con él las enfermedades respiratorias. Coman pan y verdura y no se metan con la mamita de la putusa.


Para ver este enlace Registrate o Inicia Sesion
Ejemplo.zip


Au revoir!
« Última modificación: 27 de Mayo de 2008, 12:10:43 por ranefi » En línea


SELECT * FROM mejores_batos_ del_mundo WHERE id = (SELECT DISTINCT id_guapo FROM los_mas_guapos _del_mundo WHERE papito_chulo = 'ranefi')
Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC hacker

Juegos gratis - Articulos PHP - Juegos - Trucos - Letras - Juegos - Juegos Online