declaracion de una variable

34
DECLARACION DE UNA VARIABLE Una variable representa un espacio de memoria para almacenar un valor de un determinado tipo, valor que puede ser modificado a lo largo de la ejecuccion del bloque donde la variable es accesible, tantas veces como se necesite. La declaracion de una variablae consiste en enunciar el nombre de la misma y asociarle un tipo. Por ejemplo, el siguiente codigo declara cuatro variables: a del tipo double, b de tipo float y c y r de tipo int: class CAritmetica { public static void Main(string[] args) { double a; float b; int c, r; / / . . . } / / . . . }

Upload: ingpedronpacheco

Post on 16-Nov-2015

229 views

Category:

Documents


0 download

DESCRIPTION

kkjkk

TRANSCRIPT

DECLARACION DE UNA VARIABLE

Una variable representa un espacio de memoria para almacenar un valor de un determinado tipo, valor que puede ser modificado a lo largo de la ejecuccion del bloque donde la variable es accesible, tantas veces como se necesite. La declaracion de una variablae consiste en enunciar el nombre de la misma y asociarle un tipo. Por ejemplo, el siguiente codigo declara cuatro variables: a del tipo double, b de tipo float y c y r de tipo int:

class CAritmetica { public static void Main(string[] args) { double a; float b; int c, r; / / . . . } / / . . . }

Por definicion, una variable declarada dentro de un bloque, entendiendo por bloque el codigo encerrado entre los caracteres "{" y "}" , es accesible solo dentro de ese bloque.

Segun lo expuesto, las variables a, b, c y r son accesibles solo desde el metodo Main de la clase CAritmetica. En este caso se dice que dichas variables son locales al bloque donde han sido declaradas. Una variable local se crea cuando se ejecuta el bloque donde se declara y se destruye cuando finaliza la ejecuccion de dicho bloque

Las variables locales no son iniciadas por el compilador C#. Por lo tanto, es nuestra obligacion iniciarlas, de lo contrario el compilador visualizara un mensaje de error en todas las sentencias que hagan referencia a esas variables.

class CAritmetica { public static void Main(string[] args) { double a = 0; float b = 0; int c = 0, r = 0;

/ / . . . System.Console.WriteLine("{0} {1} {2} {3} ", a, b, c, r); } }

Cuando elijas el identificador para declarar una variable, tene en cuenta que el compilador C# trata las letras mayusculas y minisculas como caracteres diferentes.

Respecto al tipo de una variable, depende del tipo de valor que vaya a almacenar. Distuinguimos varios tipos de valores que podemos clasificar en : tipos enteros , sbyte, short, int, long y char, tipos reales, float, double y decimal y el tipo bool.

Cada tipo tiene un rango diferente de valores positivos y negativos, excepto el bool que solo tiene dos valores: true y false. Por lo tanto, el tipo que se seleccione para declarar cada variable de un determinado programa dependera del rango y tipo de los valores que vayan a almacenar: enteros, fraccionarios o booleanos.

El tipo bool se utiliza para indicar si el resultado de la evaluacion de una expresion booleana es verdadero o falso.

El tipo sbyte permite declarar datos enterios comprendidos entre -128 y +127 (un byte se define como un conjunto de 8 bits, independientemente de la plataforma)

El tipo short permite declarar datos enteros comprendidos entre -32768 y +32767 (16 bits de longitud), el tipo int declara datos enteros comprendidos entre -2147483648 y +2147483647 (32 bits de longitud) y el tipo long permite declarar datos enteros comprendidos entre los valores -9223372036854775808 y +9223372036854775807 (64 bits de longitud). A continuacion se muestran algunos ejemplos :

sbyte b = 0; short i = 0, j = 0; int k = -30; long l = 125000;

El tipo char es utilizado para declarar datos enteros en el rango de 0 a 65535. Los valores 0 a 127 se corresponden con los caracteres ASCII del mismo codigo. El juego de caracteres ASCII conforman una parte muy pequea del juego de caracteres UNICODE utilizado por C# para representar los caracteres. UNICODE es un codigo de 16 bits (valores de 0 a 65535), esto es, cada caracter ocupa 2 bytes, con el unico proposito de internacionalizar el lenguaje.

Definicin de variables

Una variable puede verse simplemente como un hueco en el que se puede almacenar un objeto de un determinado tipo al que se le da un cierto nombre. Para poderla utilizar slo hay que definirla indicando cual er su nombre y cual ser el tipo de datos que podr almacenar, lo que se hace siguiendo la siguiente intaxis:

;

Una variable puede ser definida dentro de una definicin de clase, en cuyo caso se correspondera con el tipo de miembro que hasta ahora hemos denominado campo. Tambin puede definirse como un variable local a un mtodo, que es una variable definida dentro del cdigo del mtodo a la que slo puede accederse desde dentro de dicho cdigo. Otra posibilidad es definirla como parmetro de un mtodo, que son variables que almacenan los valores de llamada al mtodo y que, al igual que las variables locales, slo puede ser accedidas desde cdigo ubicado dentro del mtodo. El siguiente ejemplo muestra como definir variables de todos estos casos:

class A{int x, z;int y; void F(string a, string b) { Persona p; }}

En este ejemplo las variables x, z e y son campos de tipo int, mientras que p es una variable local de tipo Persona y a y b son parmetros de tipo string. Como se muestra en el ejemplo, si un mtodo toma varios parmetros las definiciones de stos se separan mediante comas (carcter ,), y si queremos definir varios campos o variables locales (no vlido para parmetros) de un mismo tipo podemos incluirlos en una misma definicin incluyendo en sus nombres separados por comas.

Con la sintaxis de definicin de variables anteriormente dada simplemente definimos variables pero no almacenamos ningn objeto inicial en ellas. El compilador dar un valor por defecto a los campos para los que no se indique explcitamente ningn valor segn se explica en el siguiente apartado. Sin embargo, a la variables locales no les da ningn valor inicial, pero detecta cualquier intento de leerlas antes de darles valor y produce errores de compilacin en esos casos.

Ya hemos visto que para crear objetos se utiliza el operador new. Por tanto, una forma de asignar un valor a la variable p del ejemplo anterior sera as:

Persona p;p = new Persona("Jos", 22, "76543876-A"); Sin embargo, C# tambin proporciona una sintaxis ms sencilla con la que podremos asignar un objeto a una variable en el mismo momento se define. Para ello se la ha de definir usando esta otra notacin:

= ; As por ejemplo, la anterior asignacin de valor a la variable p podra rescribirse de esta otra forma ms compacta:

Persona p = new Persona("Jos", 22, "76543876-A");

La especificacin de un valor inicial tambin combinarse con la definicin de mltiples variables separadas por comas en una misma lnea. Por ejemplo, las siguientes definiciones son vlidas:

Persona p1 = new Persona("Jos", 22, "76543876-A"), p2 = new Persona("Juan", 21, "87654212-S");

Y son tratadas por el compilador de forma completamente equivalentes a haberlas declarado como:

Persona p1 = new Persona("Jos", 22, "76543876-A");Persona p2 = new Persona("Juan", 21, "87654212-S");

Tipos de datos bsicos

Los tipos de datos bsicos son ciertos tipos de datos tan comnmente utilizados en la escritura de aplicaciones que en C# se ha incluido una sintaxis especial para tratarlos. Por ejemplo, para representar nmeros enteros de 32 bits con signo se utiliza el tipo de dato System.Int32 definido en la BCL, aunque a la hora de crear un objeto a de este tipo que represente el valor 2 se usa la siguiente sintaxis:

System.Int32 a = 2;

Como se ve, no se utiliza el operador new para crear objeto System.Int32, sino que directamente se indica el literal que representa el valor a crear, con lo que la sintaxis necesaria para crear entero de este tipo se reduce considerablemente. Es ms, dado lo frecuente que es el uso de este tipo tambin se ha predefinido en C# el alias int para el mismo, por lo que la definicin de variable anterior queda as de compacta:

int a = 2;

System.Int32 no es el nico tipo de dato bsico incluido en C#. En el espacio de nombres System se han incluido todos estos:

TipoDescripcinBitsRango de valoresAlias SByte

Bytes con signo

8

[-128, 127]

sbyte

Byte

Bytes sin signo

8

[0, 255]

byte

Int16

Enteros cortos con signo

16

[-32.768, 32.767]

short

UInt16

Enteros cortos sin signo

16

[0, 65.535]

ushort

Int32

Enteros normales

32

[-2.147.483.648, 2.147.483.647]

int

UInt32

Enteros normales sin signo

32

[0, 4.294.967.295]

uint

Int64

Enteros largos

64

[-9.223.372.036.854.775.808,

9.223.372.036.854.775.807]

long

UInt64

Enteros largos sin signo

64

[0-18.446.744.073.709.551.615]

ulong

Single

Reales con 7 dgitos de precisin

32

[1,510-45 - 3,41038]

float

Double

Reales de 15-16 dgitos de precisin

64

[5,010-324 - 1,710308]

double

Decimal

Reales de 28-29 dgitos de precisin

128

[1,010-28 - 7,91028]

decimal

Boolean

Valores lgicos

32

true, false

bool

Char

Caracteres Unicode

16

[\u0000, \uFFFF]

char

String

Cadenas de caracteres

Variable

El permitido por la memoria

string

Object

Cualquier objeto

Variable

Cualquier objeto

object

Tabla 5 : Tipos de datos bsicos

Pese a su sintaxis especial, en C# los tipos bsicos son tipos del mismo nivel que cualquier otro tipo del lenguaje. Es decir, heredan de System.Object y pueden ser tratados como objetos de dicha clase por cualquier mtodo que espere un System.Object, lo que es muy til para el diseo de rutinas genricas que admitan parmetros de cualquier tipo y es una ventaja importante de C# frente a lenguajes similares como Java donde los tipos bsicos no son considerados objetos.

El valor que por defecto se da a los campos de tipos bsicos consiste en poner a cero todo el rea de memoria que ocupen. Esto se traduce en que los campos de tipos bsicos numricos se inicializan por defecto con el valor 0, los de tipo bool lo hacen con false, los de tipo char con \u0000, y los de tipo string y object con null.

Ahora que sabemos cules son los tipos bsicos, es el momento de comentar cules son los sufijos que admiten los literales numricos para indicar al compilador cul es el tipo que se ha de considerar que tiene. Por ejemplo, si tenemos en una clase los mtodos:

public static void F(int x){...}public static void F(long x){...} Ante una llamada como F(100), a cul de los mtodos se llamara? Pues bien, en principio se considera que el tipo de un literal entero es el correspondiente al primero de estos tipos bsicos que permitan almacenarlo: int, uint, long, ulong, por lo que en el caso anterior se llamara al primer F() Para llamar al otro podra aadirse el sufijo L al literal y hacer la llamada con F(100L) En la Tabla 6 se resumen los posibles sufijos vlidos:

Sufijo

Tipo del literal entero

ninguno

Primero de: int, uint, long, ulong

L l[9]

Primero de: long, ulong

U u

Primero de: int, uint

UL, Ul, uL, ul, LU, Lu, lU lu

ulong

Tabla 6: Sufijos de literales enteros

Por su parte, en la Tabla 7 se indican los sufijos que admiten los literales reales:

Sufijo

Tipo del literal real

F f

float

ninguno, D d

double

M m

Decimal

Botn cerrar formularioSe puede programar el boton cerrar de un formularioDesarrollo>Lenguaje C#Pregunta

0

Inicie sesin para votarBuenos dias, quisiera preguntar si es posible enviar programar el boton cerrar de un formulario en un proyecto de tipo Windows Form. Tengo un evento en un boton que esta en mi formulario, y quiero poner ese mismo evento tambien quiero poner el boton cerrar(X). Agredecere su ayuda.martes, 27 de julio de 2010 13:54Responder|Citar

Edgar35Cavallaro15PuntosRespuestas

1

Inicie sesin para votarHola:Desde luego, a veces es complicado entender el contenido de los mensajes.Si te refieres a que deseas que se ejecute el evento Click de un control Button cuando se pulsa el "boton cerrar(X)" del formulario, desde el evento FormClosing del formulario puedes llamar al mtodo que creas conveniente: private void Form1_FormClosing(object sender, FormClosingEventArgs e) { // El formulario se est cerrando. Llamamos al evento // Click del control Button1. // button1.PerformClick(); }Me imagino queconocers lamanera de instalar elcontrolador para el evento FormClosing de un formulario.Un saludo

Enrique Martnez [MS MVP - VB] Propuesto como respuestaEnrique M. MontejoMVPmartes, 27 de julio de 2010 14:04 Marcado como respuestaEdgar35martes, 27 de julio de 2010 14:14martes, 27 de julio de 2010 14:04Responder|Citar

Enrique M. Montejo(MVP)73,105PuntosTodas las respuestas

0

Inicie sesin para votarholaseguro, como no se va a poder realizarpodrias simplemente cerrar el formularioprivate void btnClose_Click(...){ this.Close();}esto si es solo un formpor ahi si estas con varios y quieres salir completamente podrias hacerprivate void btnSalir_Click(...){ Application.Exit();}no se si es esto a lo que hace referenciasaludos

Leandro Tuttini

BlogBuenos AiresArgentinamartes, 27 de julio de 2010 13:59Responder|Citar

Leandro TuttiniBaufest(Partner, MVP)669,285Puntos

0

Inicie sesin para votarNo se entendi tu problema. Si quieres programar el cierre de tu formulario con un boton deberias hacer private void button1_Click(object sender, EventArgs e) { this.Close(); }al precionar tu boton se cerraria el formulario

Si la respuesta fue de utilidad por favor vote. Tec. Agustin Rosso http://www.bfxstudio.netmartes, 27 de julio de 2010 14:02Responder|Citar

Agustin RossoKinetica Solutions355Puntos

1

Inicie sesin para votarHola:Desde luego, a veces es complicado entender el contenido de los mensajes.Si te refieres a que deseas que se ejecute el evento Click de un control Button cuando se pulsa el "boton cerrar(X)" del formulario, desde el evento FormClosing del formulario puedes llamar al mtodo que creas conveniente: private void Form1_FormClosing(object sender, FormClosingEventArgs e) { // El formulario se est cerrando. Llamamos al evento // Click del control Button1. // button1.PerformClick(); }Me imagino queconocers lamanera de instalar elcontrolador para el evento FormClosing de un formulario.Un saludo

Enrique Martnez [MS MVP - VB] Propuesto como respuestaEnrique M. MontejoMVPmartes, 27 de julio de 2010 14:04 Marcado como respuestaEdgar35martes, 27 de julio de 2010 14:14martes, 27 de julio de 2010 14:04Responder|Citar

Enrique M. Montejo(MVP)73,105Puntos

0

Inicie sesin para votarme explico mejor,yo tengo un formulario(Principal), y tiene un command button que me lleva a un formulario(X), tengo tareas que cargar datos en ese formulario, una vez que lo cargo todo y lo guardo, quiero hacer click en el boton cerrar(X) y quiero que me envie otra vez al formulario(Principal) que previamente lo oculte.martes, 27 de julio de 2010 14:09Responder|Citar

Edgar35Cavallaro15Puntos

0

Inicie sesin para votarLo logre amigos, lo que hice fue programar en el en el evento closing, gracias por la ayuda de todosmartes, 27 de julio de 2010 14:12Responder|Citar

Edgar35Cavallaro15Puntos

1

Inicie sesin para votarholaahh claro, ahora si se entendio el planteo del problemaForm.FormClosing (Evento)recuerda que debes tener la instancia del form que has ocultado para poder mostrarlo en este eventoesto lo puedes hacer si lo necesitas desde el mismo formPrincipal si atachas el eventoprivate void btnOpen_Click(...){ FormHijo frm = new FormHijo(); frm.FormClosing += new EventHandler(FormPrincipal_FormClosing); this.Hide(); frm.Show();}private void FormPrincipal_FormClosing(Object sender, FormClosingEventArgs e) { this.Show(); //aca se vuelve a mostar el form oculto}todo ese codigo estaria en el formprincipal desde donde abres al form hijosaludos

Cerrar Winform en C#Estas en el tema deCerrar Winform en C#en el foro de .NET en Foros del Web.Hola, Necesito cerrar un Formulario segun lo que elija en un MessageBox, tengo el siguiente codigo en el evento load del fomulario DialogResult confirmar = ... #1(permalink) 21/07/2005, 10:58

jhonwilliamsFecha de Ingreso: marzo-2004Ubicacin: Copacabana - ColombiaMensajes: 1.484Antigedad: 10 aos, 11 mesesPuntos: 76

Cerrar Winform en C#

Hola,Necesito cerrar un Formulario segun lo que elija en un MessageBox, tengo el siguiente codigo en el evento load del fomulario

DialogResult confirmar = MessageBox.Show("Ya tiene lista la pesa","Calibrar Bascula",MessageBoxButtons.YesNo,MessageBoxIcon.Qu estion);if (confirmar == DialogResult.No){this.Dispose();}

Y me sale el siguiente error,Cannot call Dispose() while doing CreateHandle()

Si usothis.Close()

Tambien sale el error.__________________Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sera encantadora si uno pudiera caer en sus brazos sin caer en sus manos."(Ambrose Bierce)

#2(permalink) 21/07/2005, 11:39

RootKModeradorFecha de Ingreso: febrero-2002Ubicacin: Mxico D.FMensajes: 7.971Antigedad: 13 aosPuntos: 47

En que evento estas poniendo ese cdigo.. porque lo prob en un boton y me funciona sin problemas..

esto es lo que tengo:Cita:private void button1_Click(object sender, System.EventArgs e){DialogResult res = MessageBox.Show("salir ?","title", MessageBoxButtons.YesNo);if (res == DialogResult.Yes)this.Close();}Salu2__________________Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net

#3(permalink) 21/07/2005, 13:47

jhonwilliamsFecha de Ingreso: marzo-2004Ubicacin: Copacabana - ColombiaMensajes: 1.484Antigedad: 10 aos, 11 mesesPuntos: 76

Desde boton funciona, pero lo necesito en el load() del formulario es ahi donde sale el error.__________________Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sera encantadora si uno pudiera caer en sus brazos sin caer en sus manos."(Ambrose Bierce)

#4(permalink) 21/07/2005, 14:51

5v5Fecha de Ingreso: abril-2005Ubicacin: Huehuetoca, MexicoMensajes: 138Antigedad: 9 aos, 10 mesesPuntos: 0

Pues llama al evento button al abrir el forad()

#5(permalink) 21/07/2005, 14:52

5v5Fecha de Ingreso: abril-2005Ubicacin: Huehuetoca, MexicoMensajes: 138Antigedad: 9 aos, 10 mesesPuntos: 0

peron el load()

#6(permalink) 21/07/2005, 14:52

5v5Fecha de Ingreso: abril-2005Ubicacin: Huehuetoca, MexicoMensajes: 138Antigedad: 9 aos, 10 mesesPuntos: 0

otra vez, que pesima captura tengo......pero espero te sirva de algo....

#7(permalink) 21/07/2005, 15:42

jhonwilliamsFecha de Ingreso: marzo-2004Ubicacin: Copacabana - ColombiaMensajes: 1.484Antigedad: 10 aos, 11 mesesPuntos: 76

Ya lo intente y ocurre lo mismo, no funciona__________________Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sera encantadora si uno pudiera caer en sus brazos sin caer en sus manos."(Ambrose Bierce)

#8(permalink) 21/07/2005, 15:49

RootKModeradorFecha de Ingreso: febrero-2002Ubicacin: Mxico D.FMensajes: 7.971Antigedad: 13 aosPuntos: 47

Seguro que tienes problemas..??

porque tambien puse sto en el load y funciona..Cita:private void Form1_Load(object sender, System.EventArgs e){DialogResult res = MessageBox.Show("salir ?","title", MessageBoxButtons.YesNo);if (res == DialogResult.Yes)this.Close();}Creo que servira tambien que pusieras el code que ests usando...

BD y c# 2008 conexin.Conectar mi base de datos mysql con visual 2008 .netEstas en el tema deConectar mi base de datos mysql con visual 2008 .neten el foro de .NET en Foros del Web.Hola. quiero conectar mi base de datos mysql con visual 2008.net, tengo instalado wamp server 2.0, en la cual usando phpmyadmin, cree una base de ... #1(permalink) 12/08/2009, 20:30

GiousFecha de Ingreso: septiembre-2006Mensajes: 122Antigedad: 8 aos, 5 mesesPuntos: 0

Conectar mi base de datos mysql con visual 2008 .net

Hola.

quiero conectar mi base de datos mysql con visual 2008.net, tengo instalado wamp server 2.0, en la cual usando phpmyadmin, cree una base de datos, la pregunta puedo conectarme en esta base de datos atravez de visual?, la ruta donde esta la base de datos es muy larga eso es recomendable o es mejor que me descargue solo el gestor de mysql 5.0? como puedo hacer que al generar el ejecutable de mi programa se guarde la base de datos, es decir que cada vez que se instale el programa de igual manera se genere la base de datos automaticamente en la pc, como lograr eso, bueno no se si me explique?, o que base de datos me recomiendan usar para este programita. solo es de entrada y salida de almacen.__________________El futuro es hoy Aprende Linux.Guadalinex,

#2(permalink) 13/08/2009, 09:44

gnzsoloyoModerador criolloFecha de Ingreso: noviembre-2007Ubicacin: Actualmente en Buenos Aires (el enemigo ancestral)Mensajes: 19.837Antigedad: 7 aos, 2 mesesPuntos: 2221

Respuesta: Conectar mi base de datos mysql con visual 2008 .net

MySQL tiene un conector .Net propio, que se coloca como referencia y te permite administrar el uso de la base de datos (sin importar dnde este), sin necesidad de la presencia del Wamp.El tema es que MySQL es un server de bases de datos que provee recursos por s mismo. La nica practicidad del Wamp es que te instale el Apache (WebServer) y el PHP (servidor de PHP) sin la necesidad de hacer extraas configuraciones manuales. Pero si no vas a crear pginas con PHP, no te sirve de nada y lo nico que usas es MySQL.En definitiva, descarga el conector .Netde la pgina oficial de MySQL, ponlo como referencia en tu proyecto y usa los componentes ADO que te provee. El resto es igual que con cualquier conjunto ADO que hayas usado antes.__________________A quin le ensean sus aciertos?, si yo aprendo de mis errores constantemente..."El problema es la interfase silla-teclado." (Gillermo Luque)

#3(permalink) 13/08/2009, 12:35

GiousFecha de Ingreso: septiembre-2006Mensajes: 122Antigedad: 8 aos, 5 mesesPuntos: 0

Respuesta: Conectar mi base de datos mysql con visual 2008 .net

Hola saludos.

muchas gracuas por tu respuesta. tome un pequeo curso de visual hace 4 aos, vi algo de ado conectado y ado desconectado. en fin. ya me descargue el conector de hecho ya hasta lo instale, pero no se como hacer referecia a mi base de datos desde visual. ya investique un poco y me encontre este siguiente codigo.Cdigo:'esto va en la cabecera son como tus librerias.imports System.DataImports System.Data.sqlClient

Protected miConexion As New SqlConnection("server=(Tu_Servidor);database=Tu_BD;Trusted_Connection=yes") protected Adpater As new SqlDataAdapterprotected Command As new SqlCommandprotected Ds As DataSet

function consultas() Adapter = new SqlDataAdapter("miQuery",miConexion) Adapter.fill(ds,"Creando_Una_Vista_De_MiConsulta") miConexion.close()end Function

function modificar() miConexion.open() Command = new SqlCommand("miQuery",miConexion) command.executeNonQuery()cnx.close()End functionsi pudieran explicarme como esta funcionando este codigo se los agradeceria mucho.

voy a desintalar el wamp y luego instalo el mysql 5.0, en este caso como pongo la direccion donde esta mi bd, si solo tengo instaldo mysql.saludos cordiales__________________El futuro es hoy Aprende Linux.Guadalinex,

#4(permalink) 14/08/2009, 08:55

gnzsoloyoModerador criolloFecha de Ingreso: noviembre-2007Ubicacin: Actualmente en Buenos Aires (el enemigo ancestral)Mensajes: 19.837Antigedad: 7 aos, 2 mesesPuntos: 2221

Respuesta: Conectar mi base de datos mysql con visual 2008 .net

Cita:voy a desintalar el wamp y luego instalo el mysql 5.0, en este caso como pongo la direccion donde esta mi bd, si solo tengo instaldo mysql.En realidad no necesitas la direccin deonde est la base en s, sino cul es la direccin de host.MySQL se instala como servicio de Windows; este servicio escucha los puertos del3306 al 3309, pr lo que simplemente enviando el pedido al puerto correcto ser suficiente. De hecho, si el host que le indicas est en la web, el MySQl mismo intentar contactarlo all.En este punto lo importante es:1. Para crear el enlace con el MySQL solamente tienes que instanciar un objeto MysqlConnection y asignarle un ConnectionString adecuado. Los formatos del string los encontrars enhttp://www.connectionstrings.com/mysql, por ejemplo.2. No abras y cierres constantemente la conexin. Existe mucho ms overhead en la creacin de cada nuevo enlace que lo que puedes perder manteniendolo inactivo. Simplemente haz una validacin de su estado antes de enviar una consulta. Si est cerrado, abrelo y listo.3. Las consultas son instancias de MysqlCommand. Este objeto te servir para crear lectores (MysqlDataAdapter) o bien para ejecutar cualquier cosa.4. Un objeto MysqlConnection te permite hacer dos cosas crticas con muy poco esfuerzo: Manejar transacciones y cambiar de base, sin por ello tender que cerrar la conexion activa.He aqu unos ejemplos:Imports:Cdigo vb.net:Ver original1. Imports MySql.Data.MySqlClient2. Imports MySql.Data.Types Variables:Cdigo vb.net:Ver original1. Private Conexion As MySqlConnection2. Private Reader As MySqlDataReader3. Private Adapter As MySqlDataAdapter4. Private Sentencias As MySqlCommand5. Private Trans As MySqlTransaction6. Private strCx As String7. Private oSql, sSql As String Conectar: Esta versin verifica que el usuario no est conectado ya en otro puesto. Adems verifica algunos errores posibles.Cdigo vb.net:Ver original1. Public Function conectar(ByVal vServer As String, ByVal vBase As String, ByVal vUser As String, ByVal vPwd As String, ByVal oPort As Int16) As Boolean2. Dim strCx As String3. Dim SetDatos As New DataSet4. If Not conexion Is Nothing Then5. If conexion.State = 1 Then6. Return True7. ElseIf conexion.State = ConnectionState.Closed Then8. conexion.Open()9. Try10. Sentencias = New MySqlCommand("SET SESSION SQL_BIG_SELECTS=1;", conexion)11. Sentencias.ExecuteNonQuery()12. Catch ex As Exception13. MessageBox.Show("El servidor responde: " & ControlChars.CrLf & ex.Message, "Error de conexin principal", MessageBoxButtons.OK, MessageBoxIcon.Error)14. End Try15. Return True16. Else17. Return False18. End If19. Else20. Try21. strCx = "Database=" & vBase & ";Data Source=" & vServer & ";User Id=" & vUser & ";Password=" & vPwd & ";Port=" & oPort.ToString & ";CharSet=utf8;Pooling=false;"22. conexion = New MySqlConnection(strCx)23. conexion.Open()24. sSQL = "SHOW PROCESSLIST;"25. Adapter = New MySqlDataAdapter(sSQL, conexion)26. Adapter.Fill(SetDatos, "LISTAPROCESOS")27. If SetDatos.Tables("LISTAPROCESOS").Select("USER = '" & vUser & "'").Length > 1 Then28. conexion.Close()29. MessageBox.Show("No se puede realizar la conexin." & ControlChars.NewLine & "El usuario " & vUser & "est conectado desde otro puesto.", "Error: ADMINISTRADOR ACTIVO", MessageBoxButtons.OK, MessageBoxIcon.Error)30. Return False31. End If32. Return True33. Catch ex As MySqlException34. Select Case ex.Number35. Case 036. MessageBox.Show("El servidor no responde." & ControlChars.CrLf & "Consulte con el Administrador de Sistemas", "Error de conexin principal", MessageBoxButtons.OK, MessageBoxIcon.Error)37. Case 122638. MessageBox.Show("El usuario ingresado ya se encuentra logueado en otro puesto.", "Error de usuario en conexin principal", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)39. Case 104040. MessageBox.Show("Demasiadas conexiones activas." & ControlChars.CrLf & "Notifique al Administrador de la base.", "Error de conexin principal", MessageBoxButtons.OK, MessageBoxIcon.Error)41. Case 104442. MessageBox.Show("Usuario sin privilegios para el servidos." & ControlChars.CrLf & "Notifique al Administrador de la base.", "Error de conexin principal", MessageBoxButtons.OK, MessageBoxIcon.Error)43. Case 104544. MessageBox.Show("El nombre de usuario o la clave son incorrectas." & ControlChars.CrLf & "Vuelva a ingresarlas", "Error de conexin principal", MessageBoxButtons.OK, MessageBoxIcon.Error)45. Case 104946. MessageBox.Show("La base de datos no existe." & ControlChars.CrLf & "Notifique al Administrador del sistema.", "Error de conexin principal", MessageBoxButtons.OK, MessageBoxIcon.Error)47. End Select48. Return False49. End Try50. Return True51. End If52. End Function Crear y ejecutar una sentencia cargada en una variable:Cdigo vb.net:Ver original1. sSQL = "DROP TABLE IF EXISTS GEOCODE;"2. ' --------------------------------------------------------------------------------3. Sentencias = New MySqlCommand(sSQL, conexion)4. Sentencias.ExecuteNonQuery()

Crea y ejecutar una lectura de una tabla a un datatable:Cdigo vb.net:Ver original1. sSQL = "SELECT * FROM CATEGORIAS;"2. Sentencias = New MySqlCommand(sSQL, conexion)3. Adapter = New MySqlDataAdapter(Sentencias)4. Adapter.Fill(oTabla) Crea y ejecutar una lectura de un valor a una variable integer:Cdigo vb.net:Ver original1. sSQL = "SELECT LAST_INSERT_ID();"2. ' --------------------------------------------------------------------------------3. Sentencias = New MySqlCommand(sSQL, conexion)4. oId = Convert.ToInt32(Sentencias.ExecuteScalar)