57
Instrucción while La instrucción while permite ejecutar un bloque de instrucciones mientras se de una cierta instrucción. Su sintaxis de uso es: while (<condición>) <instrucciones> Su significado es el siguiente: Se evalúa la <condición> indicada, que ha de producir un valor lógico. Si es cierta (valor lógico true) se ejecutan las <instrucciones> y se repite el proceso de evaluación de <condición> y ejecución de <instrucciones> hasta que deje de serlo. Cuando sea falsa (false) se pasará a ejecutar la instrucción siguiente al while. En realidad <instrucciones> puede ser una única instrucción o un bloque de instrucciones. Un ejemplo cómo utilizar esta instrucción es el siguiente: using System; class HolaMundoWhile { public static void Main(String[] args) { int actual = 0; if (args.Length > 0) while (actual < args.Length) {

Instrucción while

Embed Size (px)

Citation preview

Page 1: Instrucción while

Instrucción while

La instrucción while permite ejecutar un bloque de instrucciones mientras se de una cierta instrucción. Su sintaxis de uso es:

            while (<condición>)

                        <instrucciones>

Su significado es el siguiente: Se evalúa la <condición> indicada, que ha de producir un valor lógico. Si es cierta (valor lógico true) se ejecutan las <instrucciones> y se repite el proceso de evaluación de <condición> y ejecución de <instrucciones> hasta que deje de serlo. Cuando sea falsa (false) se pasará a ejecutar la instrucción siguiente al while. En realidad <instrucciones> puede ser una única instrucción o un bloque de instrucciones.

Un ejemplo cómo utilizar esta instrucción es el siguiente:

                using System;

                class HolaMundoWhile

                {

                               public static void Main(String[] args)

                               {

                                               int actual = 0;

                                               if (args.Length > 0)

                                                               while (actual < args.Length)

                                                               {

                                                                               Console.WriteLine(“¡Hola {0}!”, args[actual]);

                                                                              actual  = actual + 1;

                                                               }

                                               else

                                                               Console.WriteLine(“¡Hola mundo!”);

                               }

                }

En este caso, si se indica más de un argumento al llamar al programa se mostrará por pantalla un mensaje de saludo para cada uno de ellos. Para ello se usa una variable

Page 2: Instrucción while

actual que almacena cuál es el número de argumento a mostrar en cada ejecución del while. Para mantenerla siempre actualizada lo que se hace es aumentar en una unidad su valor tras cada ejecución de las <instrucciones> del bucle.

Por otro lado, dentro de las <instrucciones> de un while pueden usarse dos instrucciones especiales:

break;: Indica que se ha de abortar la ejecución del bucle y continuarse  ejecutando por la instrucción siguiente al while.

continue;: Indica que se ha de abortar la ejecución de las <instrucciones> y reevaluarse la <condición> del bucle, volviéndose a ejecutar la <instrucciones> si es cierta o pasándose a ejecutar la instrucción siguiente al while si es falsa.

while (Referencia de C#)Visual Studio 2005

Otras versiones

Page 3: Instrucción while

Visual Studio 2010 Visual Studio 2008

La instrucción while ejecuta una instrucción o un bloque de instrucciones repetidamente hasta que una expresión especificada se evalúa como false.

Ejemplo

// statements_while.csusing System;class WhileTest { static void Main() { int n = 1; while (n < 6) { Console.WriteLine("Current value of n is {0}", n); n++; } }}

ResultadosCurrent value of n is 1Current value of n is 2Current value of n is 3Current value of n is 4Current value of n is 5// statements_while_2.csusing System;class WhileTest { static void Main() { int n = 1; while (n++ < 6) { Console.WriteLine("Current value of n is {0}", n); } }}

ResultadosCurrent value of n is 2Current value of n is 3Current value of n is 4Current value of n is 5Current value of n is 6

Como la comprobación de la expresión while tiene lugar antes de la ejecución del bucle, las instrucciones internas de un bucle while pueden no llegar a ejecutarse. Esto es diferente del bucle do que se ejecuta una o varias veces.

Un bucle while se puede terminar cuando una instrucción break, goto, return o throw transfiere el control fuera del bucle. Para pasar el control a la siguiente iteración sin salir

Page 4: Instrucción while

del bucle, use la instrucción continue. Observe la diferencia en los resultados de los tres ejemplos anteriores con relación a dónde se incrementa int n. En el ejemplo siguiente no se genera ningún resultado.

// statements_while_3.cs// no output is generatedusing System;class WhileTest { static void Main() { int n = 5; while (++n < 6) { Console.WriteLine("Current value of n is {0}", n); } }}Especificación del lenguaje C#

Para obtener más información, vea las secciones siguientes de Especificación del lenguaje C#.

5.3.3.7 Instrucciones while 8.8.1 La instrucción while

Vea también

ReferenciaPalabras clave de C# The while Statement Instrucciones de iteración (Referencia de C#)

ConceptosGuía de programación de C#

Otros recursosReferencia de C#

Page 6: Instrucción while

El camino geek GWT en español Linux Hispano LuAuF Nierox Píllate un Linux Programación PHP, Java y C++ Programando Ideas Rincón Informático rm -rf Ubuntu Tips Youtube

Buscar...

Publicidad

dic, 10 2007 - 3:54 pm

[código] C#, programas básicos (2) 0 tweets retweet

(anterior) En esta entrada pondré el código fuente de algunos programas muy básicos desarrollados en C#. Los programas corren tanto en plataformas Microsoft usando Visual Studio, como en cualquier otra plataforma usando Mono. Tal vez quieras visitar leer estas entradas: Cómo crear aplicaciones en C# usando Visual Studio o C#, crear una aplicación usando Mono.

Tal como pueden apreciar, los en ejemplos se muestra cómo compilar y ejecutar con Mono, pero si lo que quieres es hacerlo con Visual Studio, no te preocupes, aquí te explico como se hace.

Calcular promedios con contador de repeticion controlado (usando while)

Page 7: Instrucción while

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

using System;

class Promedios

{

    static void Main(string[] args)

    {

        int total = 0,  //resultado total de la suma de los datos

        cantidad,   //cantidad de datos a procesar

        contador=1,

        dato,       //para almacenar el dato actual dentro del ciclo

        promedio;   //promedio de los datos

        //Preguntar por el número de datos a procesar

        Console.WriteLine("¿Qué cantidad de datos vas a procesar?");

        cantidad = Int32.Parse(Console.ReadLine());

        //Iterar 'cantidad' de veces

        while(contador <= cantidad)

        {

            //Capturar dato

            Console.WriteLine("Digite el dato número "+contador+":");

            dato = Int32.Parse(Console.ReadLine());

            //Acumular los datos

            total = total + dato;

            //Aumentar el contador

            contador = contador + 1;

Page 8: Instrucción while

27

28

29

30

31

32

33

34

35

36

        }

        //Calcular el promedio

        promedio = total / cantidad;

        //Mostrar el resultado

        Console.WriteLine("El promedio de los datos ingresados es: "+promedio);

    } //fin del Main

}//fin de la clase Promedios

casidiablo@punko:~/c#> mcs Promedios.cscasidiablo@punko:~/c#> mono Promedios.exe¿Qué cantidad de datos vas a procesar?6Digite el dato número 1:20Digite el dato número 2:10Digite el dato número 3:60Digite el dato número 4:80Digite el dato número 5:50Digite el dato número 6:62El promedio de los datos ingresados es: 47

Descargar código fuente

Calcular promedios con contador de repeticion controlado por centinela (usando while)

?

01

02

03

using System;

class Promedios2

{

Page 9: Instrucción while

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

    static void Main(string[] args)

    {

        int total = 0,  //resultado total de la suma de los datos

        contador=1,

        dato,       //para almacenar el dato actual dentro del ciclo

        promedio;   //promedio de los datos

        //Capturar dato

        Console.WriteLine("Digite el dato número "+contador+": (-1 para detener el ciclo)");

        dato = Int32.Parse(Console.ReadLine());

        //Iterar 'cantidad' de veces

        while( dato != -1 )

        {

            //Acumular los datos

            total = total + dato;

            //Aumentar el contador

            contador = contador + 1;

            //Capturar dato

            Console.WriteLine("Digite el dato número "+contador+": (-1 para detener el ciclo)");

            dato = Int32.Parse(Console.ReadLine());

        }

        //Calcular el promedio

        promedio = total / contador;

Page 10: Instrucción while

31

32

33

34

35

        //Mostrar el resultado

        Console.WriteLine("El promedio de los datos ingresados es: "+promedio);

    } //fin del Main

}//fin de la clase Promedios2

casidiablo@punko:~/c#> mcs Promedios2.cscasidiablo@punko:~/c#> mono Promedios2.exeDigite el dato número 1: (-1 para detener el ciclo)32Digite el dato número 2: (-1 para detener el ciclo)23Digite el dato número 3: (-1 para detener el ciclo)54Digite el dato número 4: (-1 para detener el ciclo)32Digite el dato número 5: (-1 para detener el ciclo)25Digite el dato número 6: (-1 para detener el ciclo)36Digite el dato número 7: (-1 para detener el ciclo)-1El promedio de los datos ingresados es: 28

Descargar código fuente

Análisis de Resultados de Examenes

?

01

02

03

04

05

06

07

08

using System;

class Analisis

{

    static void Main( string[] args )

    {

        int bien = 0,            // numero de

        fallas = 0,          // numero de fallas

        estudiantes = 1,           // contador de estudiantes

        resultado;                // resultado de los examenes

Page 11: Instrucción while

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

        // procesar 10 estudiantes; loop controlado por contador

        while ( estudiantes <= 10 )

        {

            Console.Write( "Digite los resultados (1=pasó, 2=falló):

" );

            resultado = Int32.Parse( Console.ReadLine() );

            if ( resultado == 1 )

                bien = bien + 1;

            else

                fallas = fallas + 1;

            estudiantes = estudiantes + 1;

        }

        // mostrar los resultados

        Console.WriteLine();

        Console.WriteLine( "Pasaron: " + bien );

        Console.WriteLine( "Fallaron: " + fallas );

    } // fin del método Main

} // fin de la clase Analisis

casidiablo@punko:~/c#> mcs Analisis.cscasidiablo@punko:~/c#> mono Analisis.exeDigite los resultados (1=pasó, 2=falló): 1Digite los resultados (1=pasó, 2=falló): 2Digite los resultados (1=pasó, 2=falló): 1Digite los resultados (1=pasó, 2=falló): 2Digite los resultados (1=pasó, 2=falló): 1Digite los resultados (1=pasó, 2=falló): 2Digite los resultados (1=pasó, 2=falló): 1Digite los resultados (1=pasó, 2=falló): 2Digite los resultados (1=pasó, 2=falló): 2Digite los resultados (1=pasó, 2=falló): 1

Pasaron: 5Fallaron: 5

Page 12: Instrucción while

Descargar código fuente

Preincremento y postincremento

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

using System;

class Incremento

{

    static void Main( string[] args )

    {

        int c;

        c = 5;

        Console.WriteLine( c );   // imprimir 5

        Console.WriteLine( c++ ); // imprimir 5 entonces postincremento

        Console.WriteLine( c );   // imprimir 6

        Console.WriteLine();      // saltar una lÃnea

        c = 5;

        Console.WriteLine( c );   // imprimir 5

        Console.WriteLine( ++c ); // preincremento, entonces imprimir 6

        Console.WriteLine( c );   // imprimir 6

    } // fin del método method Main

} // fin de la clase Incremento

casidiablo@punko:~/c#> mcs Incremento.cscasidiablo@punko:~/c#> mono Incremento.exe556

566

Descargar código fuente

Page 13: Instrucción while

Los ejercicios utilizados en este post están basados en ejemplos del libro C# How to Program de Deitel. Se pone a disposición la descargar del programa original, desarrollado para trabajar sobre Visual Studio de Microsoft en plataformas Windows, y se encuentra en inglés. La versión simplificada está basada en la original, pero sin código basura insertado por Visual Studio, se encuentra en español y ha sido probada sobre Gnu/Linux usando Mono.

41 Comentarios | deja el tuyo

do (Referencia de C#)Visual Studio 2005

Otras versiones

Visual Studio 2010 Visual Studio 2008

La instrucción do ejecuta una instrucción o un bloque de instrucciones entre {} repetidamente hasta que una expresión especificada se evalúe como false. En el ejemplo siguiente las instrucciones de bucle do-while se ejecutan con la condición de que la variable y sea menor que 5.

Ejemplo

// statements_do.csusing System;public class TestDoWhile { public static void Main () { int x = 0; do { Console.WriteLine(x); x++; } while (x < 5);

Page 14: Instrucción while

}}Resultados

01234Comentarios

A diferencia de la instrucción while, un bucle do-while se ejecuta una vez antes de que se evalúe la expresión condicional.

En cualquier punto dentro del bloque do-while, puede salir del bucle utilizando la instrucción break. Puede pasar directamente a la instrucción de evaluación de expresión while utilizando la instrucción continue; si la expresión se evalúa como true, la ejecución continúa en la primera instrucción del bucle. Si la expresión se evalúa como false, la ejecución continúa en la primera instrucción detrás del bucle do-while.

También se puede salir de un bucle do-while mediante las instrucciones goto, return o throw.

Especificación del lenguaje C#

Para obtener más información, vea las secciones siguientes de Especificación del lenguaje C#.

5.3.3.8 Instrucciones Do 8.8.2 La instrucción do

Vea también

ReferenciaPalabras clave de C# The do-while Statement (C++) Instrucciones de iteración (Referencia de C#)

ConceptosGuía de programación de C#

Page 15: Instrucción while

Otros recursosReferencia de C#

Instrucción do...while

La instrucción do...while es una variante del while que se usa así:

            do

                        <instrucciones>

            while(<condición>);

La única diferencia del significado de do...while respecto al de while es que en vez de evaluar primero la condición y ejecutar <instrucciones> sólo si es cierta, do...while primero ejecuta las <instrucciones> y luego mira la <condición> para ver si se ha de repetir la ejecución de las mismas. Por lo demás ambas instrucciones son iguales, e incluso también puede incluirse break; y continue; entre las <instrucciones> del do...while.

do ... while está especialmente destinado para los casos en los que haya que ejecutar las <instrucciones> al menos una vez aún cuando la condición sea falsa desde el principio., como ocurre en el siguiente ejemplo:

 using System;

 class HolaMundoDoWhile

 {

            public static void Main()

            {

                        String leído;

                        do

                        {

                                   Console.WriteLine(“Clave: “);

                                   leído = Console.ReadLine();

Page 16: Instrucción while

                        }

                        while (leído != “José”);

                        Console.WriteLine(“Hola José”);

            }

 }

Este programa pregunta al usuario una clave y mientras no introduzca la correcta (José) no continuará ejecutándose. Una vez que introducida correctamente dará un mensaje de bienvenida al usuario.

Foros de Electrónica > Diseño digital > Interfaces y Programación

Usuario No cerrar sesión

Contraseña

Registrarse¿Olvidaste tu contraseña?

Ayuda

Comunidad

Buscar

Enlaces a la Comunidad

Grupos Sociales

Buscar en los Foros

Nombre de

Iniciar Sesión

a103932df79d15 guest login

process 1

1 1

a103932df79d15 guest

Ir

Page 17: Instrucción while

Mostrar Temas Mostrar Mensajes

Búsqueda Avanzada

Ir a la Página...

Programación: cuantos pares e impares ingreso el usuario

Discusiones similares

Contador Números pares 0-14 Impares 1-15 Sobre Generadores de Armonicos Impares (Auravox ?) ingreso de numero en contador Escribir en posiciones impares de EEPROM Contador Pares/Impares

11-mar-2008 #1

jimmy

Fecha de Ingreso: noviembre-2007

Ubicación: colombia

Mensajes: 2

Programación: cuantos pares e impares ingreso el usuario

En visual c++ se requiere hacer un programa donde el usuario ingrese cierta cantidad de numeros y este pueda contar cuantos pares e impares ingreso el usuario

gracias por la colaboracion

Citar

11-mar-2008 #2

sp_27

Aqui te envio un codigo en "C" que acabo de hacer, espero te sirva:

Código:

#include <conio.h>#include <stdio.h>#include <stdlib.h>#include <math.h>long int num;float numero, A, C;

Page 18: Instrucción while

Fecha de Ingreso: marzo-2007

Ubicación: Venezuela

Mensajes: 138

int B, pares=0, impares=0;char continuar='s';

int main(){ while (continuar=='s'||continuar=='S') { system("CLS"); /*Borra pantalla*/ printf("\nAlgoritmo que cuenta la cantidad de numeros pares e impares ingresados\n\n"); printf("Ingrese un numero \n"); scanf("%ld", &num); /*Lee el numero como entero*/ numero=num; /*Se almacena el valor entero en una variable decimal*/ A=numero/2; /*Division entre dos*/ B=A; /*Se toma la parte entera de la division*/ C=A-B; /*Se resta para obtener el residuo de la division*/ if (C==0) /*Se prueba si hay residuo*/ { pares++; } else { impares++; } getchar(); /*Para que la condicion lo lea la barra de intro*/ printf("\n¿Desea ingresar otro numero?\n"); /*Al ser 's' o 'S' continua el ciclo, sino se sale*/ continuar=getchar(); } system("CLS"); /*Borra pantalla*/ printf("\nCantidad de numeros Pares = %i", pares); printf("\nCantidad de numneros Impares = %i\n\n", impares); system("PAUSE"); /*Detiene el programa para mostrar los resultados*/}

Tambien lo envio adjunto:

Archivos Adjuntos

numeros_108.c (1,4 KB (Kilobytes), 10 visitas)

Citar

17-mar-2008 #3

Page 19: Instrucción while

eliben

Fecha de Ingreso: octubre-2007

Ubicación: Israel

Mensajes: 8

sp_27

Puedes examinar si el numero es par mucho mas simplemente.

int num;

if (num % 2 == 0){// par}else{// impar}

No tieles las complicaciones del "floats"

Citar

10-abr-2008 #4

jimmy

Fecha de Ingreso: noviembre-2007

Ubicación: colombia

Mensajes: 2

#include<iostream>using namespace std;int main()

{int cantida=10;

int A[10],par=0,impar=0,i,j;

for (i=0;i<cantida;i++){

cout<<"ingrese el numero"<<i+1<<"\n";cin>>A[i];}

for (j=0;j<cantida;j++)

Page 20: Instrucción while

{

if (A[j]%2==0){par++;}else

{ impar++;

}}

cout<<"los numeros pares son:"<<" "<<par<<"\n";cout<<"los numeros impares son:"<<" "<<impar<<"\n";

return (0); }

Page 21: Instrucción while

include <conio.h>#include <stdio.h>#include <stdlib.h>#include <math.h>long int num;float numero, A, C;int B, pares=0, impares=0;char continuar='s';

int main(){ while (continuar=='s'||continuar=='S') { system("CLS"); /*Borra pantalla*/ printf("\nAlgoritmo que cuenta la cantidad de numeros pares e impares ingresados\n\n"); printf("Ingrese un numero \n"); scanf("%ld", &num); /*Lee el numero como entero*/ numero=num; /*Se almacena el valor entero en una variable decimal*/ A=numero/2; /*Division entre dos*/ B=A; /*Se toma la parte entera de la division*/ C=A-B; /*Se resta para obtener el residuo de la division*/ if (C==0) /*Se prueba si hay residuo*/ { pares++; } else { impares++; } getchar(); /*Para que la condicion lo lea la barra de intro*/ printf("\n¿Desea ingresar otro numero?\n"); /*Al ser 's' o 'S' continua el ciclo, sino se sale*/ continuar=getchar(); } system("CLS"); /*Borra pantalla*/ printf("\nCantidad de numeros Pares = %i", pares); printf("\nCantidad de numneros Impares = %i\n\n", impares); system("PAUSE"); /*Detiene el programa para mostrar los resultados*/}

Page 22: Instrucción while

Hola, he preparado un pequeño ejemplo muy sencillo, tal vez para aquellos que aún estén aprendiendo LINQ y SQL Server, este ejemplo se basa en como manejar datos con LINQ conectándose a un servidor de base de datos como SQLEXPRESS y a una base de datos de control de Alumnos, si quieren crear la tabla desde cero, aquí les dejo el script:

USE bdTecMinaGOCREATE TABLE Alumnos( AlumnoID nvarchar(10), Nombre nvarchar(40), Semestre nvarchar(3), CONSTRAINT "PK_Alumnos" PRIMARY KEY CLUSTERED(AlumnoID),)

INSERT INTO Alumnos VALUES('05231104','Edison García','7')INSERT INTO Alumnos VALUES('05231106','Abraham Gomez García','9')INSERT INTO Alumnos VALUES('05231108','Alejandre Carvajal','7')INSERT INTO Alumnos VALUES('06231110','Luis Armando','10')

Ahora necesitaremos crear un Procedimiento Almacenado llamado InsertarAlumno:

SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO

CREATE PROCEDURE dbo.InsertarAlumno( @AlumnoID nchar(5), @Nombre nvarchar(40), @Semestre nchar(3))AS INSERT INTO Alumnos ( AlumnoID, Nombre, Semestre ) VALUES ( @AlumnoID, @Nombre,

Page 23: Instrucción while

@Semestre )GO

Creamos nuestro proyecto Windows Forms, y añadimos un nuevo elemento en el explorador de soluciones (Solution Explorer), y escogemos LINQ TO SQL Classes, pueden colocar cualquier nombre a su datacontext. (dml) a continuación se conectan al servidor de base de datos que tengan instalado, si tienen SQLEXPRESS se conectan y escogen la base de datos bdTecMina o la que hayan creado, y arrastran la Tabla Alumnos al diseñador.

A continuación buscan el Procedimiento Almacenado (Store Procedure) y lo colocan en el espacio que se marca en la figura de abajo.

[Dar clic para agrandar las imágenes]

Page 24: Instrucción while

Seleccionamos a continuación la tabla Alumnos y en sus propiedades seleccionamos Insert.

Seleccionamos el Procedimiento Almacenado que habíamos agregado al diseñador.

Nos vamos a diseñar nuestro formulario, muy simple pero es para hacer las pruebas.

Page 25: Instrucción while

Declaramos nuestro dataContext:

bdSistemaDataContext db = new bdSistemaDataContext();

Agregamos el siguiente código para el botón de Agregar:

private void button1_Click(object sender, EventArgs e) {

string AlumnoID = txtID.Text; string Nombre = txtNombre.Text; string Semestre = txtSemestre.Text; try { db.InsertarAlumno(AlumnoID, Nombre, Semestre); db.SubmitChanges(); MessageBox.Show("Se ha agregado correctamente");

} catch (Exception ex) { MessageBox.Show("Ha ocurrido un error"); } finally { txtID.Text = ""; txtNombre.Text = ""; txtSemestre.Text = "";

} }

En donde solo paso los valores de los textBoxs a variables string y de ahi al método del procedimiento almacenado, guardo los cambios y limpio los cuadros de textos.

Page 26: Instrucción while

Después visualizando en el DataGridView el código queda así:

private void button2_Click(object sender, EventArgs e) { var consulta = from alu in db.Alumnos select alu; dataGridView1.Refresh(); dataGridView1.DataSource = consulta.ToList(); }

Hago una pequeña consulta en LINQ mostrando todos los elementos de la tabla Alumnos en el dataGridView.

Damos F5 y tenemos lo siguiente:

Page 27: Instrucción while

Descarga el código de este ejemplo

Saludos, espero este pequeño ejemplo sea de mucha utilidad, nos vemos en otro post con los siguientes métodos.

PD:Si te ha gustado este post, vota por mi blog (mredison.wordpress.com) en http://blogit.ms en la categoría de SQL Server, te lo agradeceré mucho.

Edison Daniel García ChiñasMicrosoft Student Partner | México

Filed under C#, Ejemplos en C#, LINQ, SQL Server

SQL Server : Manejo de Proveedores de Acceso a   Datos

October 29, 2008 by mredison Leave a Comment

Hola, la finalidad de este post es conocer la clase DbProviderFactory el cual me sirve para saber con que proveedor estaré trabajando mi capa de acceso a datos, y a demás que contiene varios métodos, para crearconexion, crearcomandos, etc.

Primero que nada, quiero implementar este concepto en un ejemplo sencillo pero muy práctico.

Creamos un nuevo sitio web – Y agregamos los siguientes controles:

Page 28: Instrucción while

Ingresamos el NameSpace

using System.Data.Common;

Este namespace aparece desde ADO.NET 2.0 y tiene muchas funcionalidades.

Despues creamos nuestras primeras variables:

protected void Button1_Click(object sender, EventArgs e) { try { string proveedor = TextBox1.Text; string cadenaConexion = TextBox2.Text; string comando = TextBox3.Text;

} catch (DbException ex) { Page.Response.Write("Error: "+ ex.Message); } }

Creo un objeto factory y la conexión.

//Obtengo el proveedor del textbox y paso a factory el string DbProviderFactory factory = DbProviderFactories.GetFactory(proveedor);

//Creo la conexión segun la cadena que pase en el textbox DbConnection miConexion = factory.CreateConnection(); miConexion.ConnectionString = cadenaConexion;

Creo un adaptador de datos, creo un dataTable, lo lleno y muestro los resultados en un gridview:

 

Page 29: Instrucción while

//Creo un adaptador de datos DbDataAdapter adaptador = factory.CreateDataAdapter(); adaptador.SelectCommand = miConexion.CreateCommand(); adaptador.SelectCommand.CommandText = comando;

//Hago la consulta DataTable tabla = new DataTable(); adaptador.Fill(tabla);

//Muestro los resultados en un gridview GridView1.DataSource = tabla; GridView1.DataBind();

Ejecuta la aplicación web. y se tendrá lo siguiente:

En el Proveedor de datos, ya sabemos que podemos poner System.Data.SqlClient si trabajamos con bases de datos SQL Server, OracleClient,Odbc, Oledb, etc.. para otros proveedores de Acceso a Datos.

En la cadena de conexión es la ruta donde esta ubicado mi base de datos en el servidor.

En el comando, como configuramos solamente para un SelectCommand, solo podemos hacer consultas.

Quedaría algo como esto.

Page 30: Instrucción while

Saludos. 

Filed under Ejemplos en C#, SQL Server, TutorialesC#

SQLDataReader   Ejemplo

October 19, 2008 by mredison 1 Comment

Hola, coloco otro ejemplo de manejo de base de datos, que me pidieron

Aquí esta el código

1.- Importo

using.System.Data.SqlClient;

2.- Declaro las siguientes variables

        SqlConnection miConexion;         string cadenaConexion;         SqlCommand miComando;         SqlDataReader miReader;

3.- Me conecto a la base de datos, creo un comando, le coloco la consulta, y genero la lectura, y voy a agregando el resultado a un comoBox.

cadenaConexion = "Data Source=.\\SQLExpress;Initial Catalog=bdstudent;Integrated Security=True;Pooling=False";             miConexion=new SqlConnection(cadenaConexion);             miConexion.Open();

Page 31: Instrucción while

            miComando = miConexion.CreateCommand();             miComando.CommandText = "SELECT * FROM Alumnos";             miReader = miComando.ExecuteReader();

            while (miReader.Read())             {                 comboBox1.Items.Add(miReader["Nombre"].ToString());             }

Código Completo:

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 SQLDataReaderExample {     public partial class Form1 : Form     {         public Form1()         {             InitializeComponent();         }         SqlConnection miConexion;         string cadenaConexion;         SqlCommand miComando;         SqlDataReader miReader;

        private void Form1_Load(object sender, EventArgs e)         {             cadenaConexion = "Data Source=.\\SQLExpress;Initial Catalog=bdstudent;Integrated Security=True;Pooling=False";             miConexion=new SqlConnection(cadenaConexion);             miConexion.Open();

Page 32: Instrucción while

            miComando = miConexion.CreateCommand();             miComando.CommandText = "SELECT * FROM Alumnos";             miReader = miComando.ExecuteReader();

            while (miReader.Read())             {                 comboBox1.Items.Add(miReader["Nombre"].ToString());                }

        }     } }

Espero te haya servido amigo, saludos.

Filed under Ejemplos en C#, SQL Server, Visual Studio 2008

Como conectarme a una base de datos con   LINQ

October 18, 2008 by mredison 2 Comments

Hola, que tal, aqui respondiendo algunas preguntas, de como conectar una base de datos utilizando LINQ, muy facil. Les coloco el siguiente código:

1.- Primero que nada, tienen que importar el NameSpace

using System.Data.Linq;

2.- Creo un dbml

Page 33: Instrucción while

3.- Coloco las tablas que ocuparé.

4.- El dataContext es que el objeto que hara la conexión a la base de datos y me generará las clases dependiendo de las tablas que tenga en mi base de datos, a este proceso se le conoce como LINQ To SQL Classes.

Hago referencia a mi Tabla

miContextoDataContext db = new miContextoDataContext(); Table<Alumno> Alumnos = db.GetTable<Alumno>();

Coloco mi cadena de Conexion dentro del dataContexto y despues genero una tabla de la clase Alumno que así es como se llama mi Tabla dentro de la base de datos.

4.- Por último hago las consultas que yo quiero.

var consulta = from alu in Alumnos                            select alu;

5.- Coloco la consulta para mostrarlo en un dataGridView

dataGridView1.DataSource = consulta.ToList();

Page 34: Instrucción while

Código Completo:

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; using System.Data.Linq;

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

        private void Form1_Load(object sender, EventArgs e)         {

            miContextoDataContext db = new miContextoDataContext();             Table<Alumno> Alumnos = db.GetTable<Alumno>();

            var consulta = from alu in Alumnos                            select alu;             dataGridView1.DataSource = consulta.ToList();

Page 35: Instrucción while

        }     } }

Saludos espero te sirva, nos vemos.

Filed under C#, Ejemplos en C#, LINQ

Como obtener una lista de directorios con C# y   LINQ

October 18, 2008 by mredison 1 Comment

Hola me pidieron hacer esta demo en C#, les coloco el código.

Ejemplo en Visual Basic. NET:

http://mredison.wordpress.com/2007/12/22/como-obtener-una-lista-de-directorios-con-linq/

Código 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; using System.IO;

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

        private void Form1_Load(object sender, EventArgs e)         {         DirectoryInfo directorioInfo=new DirectoryInfo("c:\\");         DirectoryInfo[] ArrayDeDirectorios = directorioInfo.GetDirectories();         var miDirectorios = from dir in ArrayDeDirectorios                             select dir;         dataGridView1.DataSource = miDirectorios.ToList();

Page 36: Instrucción while

        }     } }

Saludos.

 

Filed under C#, Ejemplos en C#, LINQ

¿Qué es LINQ y para que me   sirve?

December 14, 2007 by mredison Leave a Comment

Se incluye en el Visual Studio 2008, se conoce como LINQ a un Lenguaje Integrado de Consultas o lo que es igual Language Integrated Query , nos va a permitir poder manipular mejor la información dentro de nuestras aplicaciones, se basa en varias funcionalidades, tanto como XML, y Base de datos, como orientado a Objetos.

Veamos un ejemplo

using System;using System.Linq;using System.Collections.Generic;

class Program{    static void Main()    {        //Arreglo de nombres

Page 37: Instrucción while

        string[] nombres = { “Edison”, “Daniel”, “Esperanza”,”Juan”,                           “Benito”, “Armando”, “Diana”, “Jaime”,                           “Ricardo”, “Ruben”, “Eduardo”,”David”,                          “Norberto”,”Ernesto”,”Adlemy”,”Felix”,                          “Carlos”,”Emilio”,”Oscar”};

        Console.Write(“Nombres: “);

        //Imprimo mi arreglo        foreach (string nom in nombres)            Console.Write(nom +” “);

        Console.WriteLine();        Console.WriteLine();

        //Pido el nombre a buscar        Console.WriteLine(“Ingresa la primera letra a buscar”);        string busquedaNombre = Console.ReadLine();        //Implemento una enumeracion de tipo string que va a contener mi consulta           IEnumerable<string > miconsulta = from nombre in nombres                                    where  nombre.StartsWith(busquedaNombre)                                    orderby nombre                                    select nombre.ToUpper();

        Console.WriteLine();

        //Imprimo mi enumeracion        foreach (string item in miconsulta)            Console.WriteLine(item);        Console.ReadLine();    }}

 

Y el Resultado sería:

Page 38: Instrucción while

URL: http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx

Filed under Ejemplos en C#, LINQ

Suma Matrices en   C#

December 5, 2007 by mredison 10 Comments

Que tal les proporciono el código en C# para la suma de matrices cuadradas de NxN, el cual consiste en pasos simples, tengo 3 datagridviews los cuales en primer lugar les asigno columnas y filas segun el tamaño que le asignes a la matriz por default, asi como dos botones los cuales uno es para calcular el tamaño de la matriz y rellenar en primer lugar los valores aleatorios dentro del grid, y el segundo boton para si queremos modificar los valores de nuestros grids, podamos volver a sumar, y tener la matriz resultante.

Código en C#:

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;

Page 39: Instrucción while

using System.Drawing;using System.Text;using System.Windows.Forms;

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

        private void Button1_Click(object sender, EventArgs e)        {            dataGridView1.Columns.Clear();            dataGridView2.Columns.Clear();            dataGridView3.Columns.Clear();

            int tam =int.Parse(textBox1.Text);            int i=0;            while(i<tam)            {               DataGridViewColumn columna=new DataGridViewColumn(new DataGridViewTextBoxCell());               columna.Name = i.ToString();               columna.HeaderText = i.ToString();                columna.Width=25;                this.dataGridView1.Columns.Add(columna);

                DataGridViewColumn  columna2=new DataGridViewColumn(new DataGridViewTextBoxCell());                columna2.Name=i.ToString();                columna2.HeaderText = i.ToString();                columna2.Width=25;                this.dataGridView2.Columns.Add(columna2);                DataGridViewColumn  columna3=new DataGridViewColumn(new DataGridViewTextBoxCell());                columna3.Name = i.ToString();                columna3.HeaderText = i.ToString();                columna3.Width=25;                this.dataGridView3.Columns.Add(columna3);                i ++;            }

            int [,] _matriz1 = new int[tam,tam];            int [,] _matriz2 = new int[tam,tam];            int [,] _matriz3 = new int[tam,tam];

Page 40: Instrucción while

            dataGridView1.Rows.Add(tam);            dataGridView2.Rows.Add(tam);            dataGridView3.Rows.Add(tam);            Random r=new Random();            for(int f=0;f<tam;f++)            {                for(int c=0;c<tam;c++)                {                    _matriz1[f, c] = r.Next(10);                    _matriz2[f, c] = r.Next(10);                        _matriz3[f,c] = _matriz1[f,c] + _matriz2[f,c];                         dataGridView1[f,c].Value=_matriz1[f,c];                         dataGridView2[f,c].Value=_matriz2[f,c];                         dataGridView3[f,c].Value=_matriz3[f,c];                }            }        }

        private void button2_Click(object sender, EventArgs e)        {            int tam = int.Parse(textBox1.Text);

            int[,] _matriz1 = new int[tam, tam];            int[,] _matriz2 = new int[tam, tam];            int[,] _matriz3 = new int[tam, tam];

            for (int f = 0; f < tam; f++)            {                for (int c = 0; c < tam; c++)                {                    _matriz1[f, c] = int.Parse(dataGridView1[f, c].Value.ToString());                    _matriz2[f, c] = int.Parse(dataGridView2[f, c].Value.ToString());                    _matriz3[f, c] = _matriz1[f, c] + _matriz2[f, c];                    dataGridView3.CurrentCell = dataGridView3[f, c];                    dataGridView3.CurrentCell.Value = _matriz3[f, c];                }            }        }    }}

Espero les pueda servir de algo este código, Saludos..

Filed under Ejemplos en C#

Search for: Search

Page 41: Instrucción while

Subscribete a mi blog

Subscribete a este blog y recibe en tu correo las noticias de tecnologías Microsoft.

Redes Sociales

 

VISITAS

832,183 Visitas

subscribe 1322336 http://mredison.w w idget 37df574468

/category/ejemplo

Subscribete

Page 42: Instrucción while

Edison García Chiñas

My Twitter

@mxprogrammer HDP.... 5 days ago @mo_mojarrita jeje gracias ;) 5 days ago Hoy me enfrente a un problema que aun no puedo resolver... Pero no me rendiré...

5 days ago The domain has been identified as an insecure domain for mail-enabled groups.... y

ahora? ... 1 month ago Operation Is Not Allowed When Object Is Closed #Shit 2 months ago

Page 43: Instrucción while

RSS de mi Blog

Tags

.NET Maps

Categorías

ADO.NET AJAX AJAX ControlToolkit Articulos Tecnicos ASP.NET C# Channel 8

Coding4Fun Colegas Microsoft México Concursos Cursos DCE Desarrollo de Software DirectX E-books E-Books .NET Educación Ejemplos en C# Ensayos Entretenimiento Era digital Expression Web

Tutoriales F# Faculty Connection Gadgets Heroes IIS 7 Imagine Cup internet

explorer Internet Explorer 8 IronPhyton JAVA JavaScript LINQ Mexico Microsoft

Microsoft .NET Microsoft E-Learning Microsoft Events Microsoft Expression Microsoft Games Microsoft Grava Microsoft Learning Microsoft Learning Center

Microsoft Live Labs Microsoft Popfly Microsoft Products Microsoft Robotics Microsoft Security

Mix 07 Mix 08 MSDN Estudiantes MSDN Latinoamerica MSDN Magazine MSPs NETCells NET

Compact Framework Net Framework 3.0 NET Framework 3.5 NET Framework 4 NET Protector

Noticias Office 2007 Open Source Open XML Personal PHP Podcasts Preguntas y Respuestas

Programacion Web remixmexico07 SilverLight Soapbox SQL Server SQL

Server 2008 Student Partners TI Todas las Categorias TutorialesC# Virtual

Earth Visual Basic .NET Visual Studio 2008 Visual Studio 2010 WCF Windows 7

Ejemplos en C# (7)

Page 44: Instrucción while

Windows Azure Windows CardSpace Windows Forms Windows Home Server Windows Live Windows Mobile Windows Presentation Foundation Windows Server

Windows Server 2008 Windows Vista XBOX XML XNA XNA 3.0 Zune

Archives

November 2010 (1) August 2010 (5) July 2010 (9) June 2010 (5) January 2010 (2) November 2009 (7) August 2009 (8) July 2009 (4) June 2009 (1) May 2009 (4) April 2009 (19) March 2009 (10) February 2009 (17) January 2009 (9) December 2008 (9) November 2008 (16) October 2008 (29) September 2008 (5) August 2008 (24) July 2008 (4) June 2008 (23) May 2008 (54) April 2008 (26) March 2008 (55) February 2008 (26) January 2008 (8) December 2007 (38) November 2007 (47) October 2007 (25) September 2007 (68) August 2007 (67) July 2007 (50)

Geeks MS Blogger

Page 45: Instrucción while

Pages

Acerca de Edison Artículos Técnicos

Microsoft Student Partner

Recent Posts

2do Concurso Nacional de Diseño Industrial – Genomma Lab Votación Final – Tema Agosto 2010 Programming Windows Phone 7 Free Ebook Utilizando LINQ Mapping con WCF en Visual Studio 2010 (ASP.NET C#) Parte 2 Utilizando LINQ Mapping con WCF en Visual Studio 2010 (ASP.NET C#) Parte 1 Encuesta Agosto 2010 – Tecnologías Microsoft Routing de páginas web ASP.NET 4.0 sin MVC Utilizando el SqlConnectionStringBuilder en C# Manejo de parámetros en Visual Studio 2010 Objeto Connection en ADO.NET Editor WYSIWYG para ASP.NET Maratón SQL Server 2008 R2 – 22 Julio 2010 Utilizando filtros en DataView con ASP.NET Aprende Script, HTML y CSS con Microsoft Modulo de Twitter para ASP.NET

Recent Comments

Isidro on Votación Final – …

Juan on Votación Final – …

pablo on Como hacer un formulario de Co…

Samir on Utilizando el SqlConnectionStr…

Page 46: Instrucción while

Samir on Hosting para .NET

leo on Excelente tutorial de una apli…

vampiro on Como desbloquear un Messenger …

Francisco on Maratón SQL Server 2008…

carlos on Desarrollador 5 Estrellas

Lee2010 on Programming Windows Phone 7 Fr…

marbin on Tutorial: Creación de u…

Juan on Votación Final – …

elias on Encuesta Agosto 2010 – T…

MS_Geek on Tutorial: Creación de u…

juan on Votación Final – …

RSS

Register Log in Entries RSS Comments RSS WordPress.com

Page 47: Instrucción while

Publicidad

 July 2011

M T W T F S S

« Nov

1 2 3

4 5 6 7 8 9 10

11 12 13 14 15 16 17

18 19 20 21 22 23 24

25 26 27 28 29 30 31

Colegas Microsoft México

Armando Halbinguer Benjamin Figueroa Eduardo Maza Eduardo Rivadeneira Jaime Sanchez Mauricio Angulo Ruben Colomo Ruben Mugartegui

Microsoft Redmond

Leandro D

Top Posts

¿Como creo un usuario en SQL Server? Programando una aplicación ASP.NET con MySQL y .NET Como desbloquear un Messenger Phone Samsung SGH-i637 para desarrollar con

Visual Studio 2008. Ejemplos de Windows Presentation Foundation Servidor Web HTTP, FTP, HTTPs en Windows Server 2008 Manipulando DataTables en VB.NET Como crear un documento XML en C# Tutorial: Creación de una bd desde script SQL Server 2005 ¿Como hacer un video juego en 60 mins? SQL SERVER- ¿Qué es un procedimiento Almacenado? Windows CardSpace ASP.NET : Control FileUpLoad

Page 48: Instrucción while