Instrucción While

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 46

Instruccin while

La instruccin while permite ejecutar un bloque de instrucciones mientras se de una cierta instruccin. Su sintaxis de uso es: while (<condicin>) <instrucciones> Su significado es el siguiente: Se evala la <condicin> indicada, que ha de producir un valor lgico. Si es cierta (valor lgico true) se ejecutan las <instrucciones> y se repite el proceso de evaluacin de <condicin> y ejecucin de <instrucciones> hasta que deje de serlo. Cuando sea falsa (false) se pasar a ejecutar la instruccin siguiente al while. En realidad <instrucciones> puede ser una nica instruccin o un bloque de instrucciones. Un ejemplo cmo utilizar esta instruccin 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 ms 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 actual que almacena cul es el nmero de argumento a mostrar en cada ejecucin del while. Para mantenerla siempre actualizada lo que se hace es aumentar en una unidad su valor tras cada ejecucin 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 ejecucin del bucle y continuarse ejecutando por la instruccin siguiente al while.
continue;:

Indica que se ha de abortar la ejecucin de las <instrucciones> y reevaluarse la <condicin> del bucle, volvindose a ejecutar la <instrucciones> si es cierta o pasndose a ejecutar la instruccin siguiente al while si es falsa.

while (Referencia de C#)


Visual Studio 2005 Otras versiones

Visual Studio 2010 Visual Studio 2008

La instruccin while ejecuta una instruccin o un bloque de instrucciones repetidamente hasta que una expresin especificada se evala como false.
Ejemplo

Copiar
// statements_while.cs using System; class WhileTest { static void Main()

{ int n = 1; while (n < 6) { Console.WriteLine("Current value of n is {0}", n); n++; } } }

Resultados
Current Current Current Current Current value value value value value of of of of of n n n n n is is is is is 1 2 3 4 5

Copiar

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

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

Como la comprobacin de la expresin while tiene lugar antes de la ejecucin 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 instruccin break, goto, return o throw transfiere el control fuera del bucle. Para pasar el control a la siguiente iteracin sin salir del bucle, use la instruccin continue. Observe la diferencia en los resultados de los tres ejemplos anteriores con relacin a dnde se incrementa int n. En el ejemplo siguiente no se genera ningn resultado.
Copiar
// statements_while_3.cs // no output is generated using System; class WhileTest { static void Main() { int n = 5; while (++n < 6) {

Console.WriteLine("Current value of n is {0}", n); } } }

Especificacin del lenguaje C#

Para obtener ms informacin, vea las secciones siguientes de Especificacin del lenguaje C#. 5.3.3.7 Instrucciones while 8.8.1 La instruccin while

Vea tambin

Referencia Palabras clave de C# The while Statement Instrucciones de iteracin (Referencia de C#) Conceptos Gua de programacin de C# Otros recursos Referencia de C#

gentoo linux, java, software libre y otras hierbas $HOME casidiablo.tv Autor Contribuir Java C# y .NET

Sgueme...

casidiablo.net en Facebook

Contacto

Lo que leo
Baratijas Blog Be Linux My Friend Bloguear por bloguear Casidiablo Media El Blog de Guapacho El blog de Marvin y familia El camino geek GWT en espaol Linux Hispano LuAuF Nierox Pllate un Linux Programacin PHP, Java y C++

Programando Ideas Rincn Informtico rm -rf Ubuntu Tips Youtube


Principio del formulario

Buscar...

Final del formulario

Publicidad

dic, 10 2007 - 3:54 pm

[cdigo] C#, programas bsicos (2)


0tweetsretweet

(anterior) En esta entrada pondr el cdigo fuente de algunos programas muy bsicos 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: Cmo crear aplicaciones en C# usando Visual Studio o C#, crear una aplicacin usando Mono. Tal como pueden apreciar, los en ejemplos se muestra cmo 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)


? 0 using System;

1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4

class Promedios { static void Main(string[] args) { int total = cantidad, contador=1, dato, promedio; 0, //resultado total de la suma de los datos //cantidad de datos a procesar //para almacenar el dato actual dentro del ciclo //promedio de los datos

//Preguntar por el nmero 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 nmero "+contador+":"); dato = Int32.Parse(Console.ReadLine()); //Acumular los datos total = total + dato; //Aumentar el contador contador = contador + 1; } //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

2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6

casidiablo@punko:~/c#> mcs Promedios.cs casidiablo@punko:~/c#> mono Promedios.exe Qu cantidad de datos vas a procesar? 6 Digite el dato nmero 1: 20 Digite el dato nmero 2: 10 Digite el dato nmero 3: 60 Digite el dato nmero 4: 80 Digite el dato nmero 5: 50 Digite el dato nmero 6: 62 El promedio de los datos ingresados es: 47 Descargar cdigo fuente

Calcular promedios con contador de repeticion controlado por centinela (usando while)
? 0 using System;

1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4

class Promedios2 { 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 nmero "+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 nmero "+contador+": (-1 para detener el ciclo)"); dato = Int32.Parse(Console.ReadLine()); } //Calcular el promedio promedio = total / contador; //Mostrar el resultado Console.WriteLine("El promedio de los datos ingresados es: "+promedio); } //fin del Main }//fin de la clase Promedios2

2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5

casidiablo@punko:~/c#> mcs Promedios2.cs casidiablo@punko:~/c#> mono Promedios2.exe Digite el dato nmero 1: (-1 para detener el ciclo) 32 Digite el dato nmero 2: (-1 para detener el ciclo) 23 Digite el dato nmero 3: (-1 para detener el ciclo) 54 Digite el dato nmero 4: (-1 para detener el ciclo) 32 Digite el dato nmero 5: (-1 para detener el ciclo) 25 Digite el dato nmero 6: (-1 para detener el ciclo) 36 Digite el dato nmero 7: (-1 para detener el ciclo) -1 El promedio de los datos ingresados es: 28 Descargar cdigo fuente

Anlisis de Resultados de Examenes


? 0 using System; 1 0 class Analisis 2

0{ 3 static void Main( string[] args ) 0 4 { 0 int bien = 0, // numero de 5 fallas = 0, // numero de fallas estudiantes = 1, // contador de estudiantes 0 resultado; // resultado de los examenes 6 // procesar 10 estudiantes; loop controlado por contador 0 while ( estudiantes <= 10 ) 7 { 0 Console.Write( "Digite los resultados (1=pas, 2=fall): 8 " ); 0 resultado = Int32.Parse( Console.ReadLine() ); 9 if ( resultado == 1 ) 1 bien = bien + 1; 0 else 1 fallas = fallas + 1; 1 estudiantes = estudiantes + 1; } 1 // mostrar los resultados 2 Console.WriteLine(); 1 Console.WriteLine( "Pasaron: " + bien ); 3 Console.WriteLine( "Fallaron: " + fallas ); 1 } // fin del mtodo Main 4 } // fin de la clase Analisis 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2

casidiablo@punko:~/c#> mcs Analisis.cs casidiablo@punko:~/c#> mono Analisis.exe Digite los resultados (1=pas, 2=fall): 1 Digite los resultados (1=pas, 2=fall): 2 Digite los resultados (1=pas, 2=fall): 1 Digite los resultados (1=pas, 2=fall): 2 Digite los resultados (1=pas, 2=fall): 1 Digite los resultados (1=pas, 2=fall): 2 Digite los resultados (1=pas, 2=fall): 1 Digite los resultados (1=pas, 2=fall): 2 Digite los resultados (1=pas, 2=fall): 2 Digite los resultados (1=pas, 2=fall): 1 Pasaron: 5 Fallaron: 5 Descargar cdigo fuente

Preincremento y postincremento
? 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1
using System; class Incremento { static void Main( string[] args ) { int c; c = 5; Console.WriteLine( c ); // Console.WriteLine( c++ ); // postincremento Console.WriteLine( c ); // Console.WriteLine(); // c = 5; Console.WriteLine( c ); // Console.WriteLine( ++c ); // imprimir 6 Console.WriteLine( c ); // } // fin del mtodo method Main } // fin de la clase Incremento

imprimir 5 imprimir 5 entonces imprimir 6 saltar una lnea imprimir 5 preincremento, entonces imprimir 6

4 1 5 1 6 1 7

casidiablo@punko:~/c#> mcs Incremento.cs casidiablo@punko:~/c#> mono Incremento.exe 5 5 6 5 6 6 Descargar cdigo fuente


Los ejercicios utilizados en este post estn basados en ejemplos del libro C# How to Program de Deitel. Se pone a disposicin la descargar del programa original, desarrollado para trabajar sobre Visual Studio de Microsoft en plataformas Windows, y se encuentra en ingls. La versin simplificada est basada en la original, pero sin cdigo basura insertado por Visual Studio, se encuentra en espaol 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 instruccin do ejecuta una instruccin o un bloque de instrucciones entre {} repetidamente hasta que una expresin especificada se evale como false. En el ejemplo siguiente las instrucciones de bucle do-while se ejecutan con la condicin de que la variable y sea menor que 5.
Ejemplo

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

Resultados

Copiar
0 1 2 3 4

Comentarios

A diferencia de la instruccin while, un bucle do-while se ejecuta una vez antes de que se evale la expresin condicional. En cualquier punto dentro del bloque do-while, puede salir del bucle utilizando la instruccin break. Puede pasar directamente a la instruccin de evaluacin de expresin while utilizando la instruccin continue; si la expresin se evala como true, la ejecucin contina en la primera instruccin del bucle. Si la expresin se evala como false, la ejecucin contina en la primera instruccin detrs del bucle do-while. Tambin se puede salir de un bucle do-while mediante las instrucciones goto, return o throw.
Especificacin del lenguaje C#

Para obtener ms informacin, vea las secciones siguientes de Especificacin del lenguaje C#. 5.3.3.8 Instrucciones Do

8.8.2 La instruccin do

Vea tambin

Referencia Palabras clave de C# The do-while Statement (C++) Instrucciones de iteracin (Referencia de C#) Conceptos Gua de programacin de C# Otros recursos Referencia de C#

Instruccin do...while
La instruccin do...while es una variante del while que se usa as: do <instrucciones> while(<condicin>); La nica diferencia del significado de do...while respecto al de while es que en vez de evaluar primero la condicin y ejecutar <instrucciones> slo si es cierta, do...while primero ejecuta las <instrucciones> y luego mira la <condicin> para ver si se ha de repetir la ejecucin de las mismas. Por lo dems ambas instrucciones son iguales, e incluso tambin 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 an cuando la condicin sea falsa desde el principio., como ocurre en el siguiente ejemplo: using System; class HolaMundoDoWhile { public static void Main() { String ledo; do {

Console.WriteLine(Clave: ); ledo = Console.ReadLine(); } while (ledo != Jos); Console.WriteLine(Hola Jos); } } Este programa pregunta al usuario una clave y mientras no introduzca la correcta (Jos) no continuar ejecutndose. Una vez que introducida correctamente dar un mensaje de bienvenida al usuario.

Foros de Electrnica > Diseo digital > Interfaces y Programacin

Principio del formulario

Usuario Contrase a

No mb r e d e

No cerrar sesin
Iniciar Sesin

a103932df79d15

guest

login

Final del formulario

Olvi daste Regis tu trars contr e ase a? Enla ces a la Com unid ad Grup os Soci ales

A y u d a

Comu nidad

Buscar

Buscar en los Foros


Principio del formulario

process

a103932df79d15

guest

Ir

Mostrar Temas Bsqueda Avanzada Ir a la Pgina...

Mostrar Mensajes
Final del formulario

Principio del formulario

Final del formulario

Programacin: cuantos pares e impares ingreso el usuario


Discusiones similares
Contador Nmeros 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 #1 Programacin: 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

11-mar-2008 jimmy

Fecha de Ingreso: noviembre2007 Ubicacin:

colombia Mensajes: 2 Citar

11-mar-2008 sp_27 Aqui te envio un codigo en "C" que acabo de hacer, espero te sirva: Cdigo:
#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';

#2

Fecha de Ingreso: marzo2007 Ubicacin: Venezuela Mensajes: 138

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("\nDesea 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 eliben 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"

#3

Fecha de Ingreso: octubre-2007 Ubicacin: Israel Mensajes: 8

Citar

10-abr-2008 jimmy #include<iostream> using namespace std; int main()

#4

Fecha de Ingreso: noviembre2007 Ubicacin: colombia Mensajes: 2

{ 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++) { if (A[j]%2==0) { par++; } else { impar++; } }

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

return (0);

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("\nDesea 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*/ }

Hola, he preparado un pequeo ejemplo muy sencillo, tal vez para aquellos que an estn aprendiendo LINQ y SQL Server, este ejemplo se basa en como manejar datos con LINQ conectndose 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 bdTecMina GO CREATE TABLE Alumnos ( AlumnoID nvarchar(10), Nombre nvarchar(40), Semestre nvarchar(3), CONSTRAINT "PK_Alumnos" PRIMARY KEY CLUSTERED(AlumnoID), ) INSERT INSERT INSERT INSERT INTO INTO INTO INTO Alumnos Alumnos Alumnos Alumnos VALUES('05231104','Edison Garca','7') VALUES('05231106','Abraham Gomez Garca','9') VALUES('05231108','Alejandre Carvajal','7') VALUES('06231110','Luis Armando','10')

Ahora necesitaremos crear un Procedimiento Almacenado llamado InsertarAlumno:


SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE dbo.InsertarAlumno ( @AlumnoID nchar(5), @Nombre nvarchar(40), @Semestre nchar(3) )

AS INSERT INTO Alumnos ( AlumnoID, Nombre, Semestre ) VALUES ( @AlumnoID, @Nombre, @Semestre ) GO

Creamos nuestro proyecto Windows Forms, y aadimos 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 continuacin 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 diseador. A continuacin 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 imgenes]

Seleccionamos a continuacin la tabla Alumnos y en sus propiedades seleccionamos Insert.

Seleccionamos el Procedimiento Almacenado que habamos agregado al diseador.

Nos vamos a disear nuestro formulario, muy simple pero es para hacer las pruebas.

Declaramos nuestro dataContext:


bdSistemaDataContext db = new bdSistemaDataContext();

Agregamos el siguiente cdigo para el botn 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 mtodo del procedimiento almacenado, guardo los cambios y limpio los cuadros de textos. Despus visualizando en el DataGridView el cdigo 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 pequea consulta en LINQ mostrando todos los elementos de la tabla Alumnos en el dataGridView. Damos F5 y tenemos lo siguiente:

Descarga el cdigo de este ejemplo Saludos, espero este pequeo ejemplo sea de mucha utilidad, nos vemos en otro post con los siguientes mtodos. PD:Si te ha gustado este post, vota por mi blog (mredison.wordpress.com) en http://blogit.ms en la categora de SQL Server, te lo agradecer mucho. Edison Daniel Garca Chias Microsoft Student Partner | Mxico 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 dems que contiene varios mtodos, para crearconexion, crearcomandos, etc. Primero que nada, quiero implementar este concepto en un ejemplo sencillo pero muy prctico. Creamos un nuevo sitio web Y agregamos los siguientes controles:

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 conexin.


//Obtengo el proveedor del textbox y paso a factory el string DbProviderFactory factory = DbProviderFactories.GetFactory(proveedor); //Creo la conexin 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:
//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 aplicacin 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 conexin 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. Quedara algo como esto.

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 cdigo 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(); miComando = miConexion.CreateCommand(); miComando.CommandText = "SELECT * FROM Alumnos"; miReader = miComando.ExecuteReader(); while (miReader.Read()) { comboBox1.Items.Add(miReader["Nombre"].ToString()); }

Cdigo 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(); 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 cdigo: 1.- Primero que nada, tienen que importar el NameSpace using System.Data.Linq; 2.- Creo un dbml

3.- Coloco las tablas que ocupar.

4.- El dataContext es que el objeto que hara la conexin 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();

Cdigo 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(); } } } 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 cdigo. Ejemplo en Visual Basic. NET: http://mredison.wordpress.com/2007/12/22/como-obtener-una-lista-de-directorios-conlinq/ Cdigo 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(); } } }

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 informacin 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 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 sera:

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 cdigo 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 tamao que le asignes a la matriz por default, asi como dos botones los cuales uno es para calcular el tamao 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.

Cdigo en C#: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; 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]; 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 cdigo, Saludos..

Filed under Ejemplos en C#


Principio del formulario

Search

Search for:
Final del formulario

Subscribete a mi blog
Principio del formulario

Subscribete a este blog y recibe en tu correo las noticias de tecnologas Microsoft.

subscribe

1322336

http://mredison.w

w idget

37df574468

/category/ejemplo

Subscribete

Final del formulario

Redes Sociales

VISITAS 832,183 Visitas

Edison Garca Chias

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 mailenabled groups.... y ahora? ... 1 month ago Operation Is Not Allowed When Object Is Closed #Shit 2 months ago

RSS de mi Blog

Tags
Ejemplos en C# (7)

.NET Maps

Categoras ADO.NET

AJAX AJAX ControlToolkit Articulos Tecnicos

ASP.NET

C# Channel 8 Coding4Fun Colegas Microsoft Mxico Concursos Cursos DCE


Desarrollo de Software DirectX E-books E-Books .NET Educacin Ejemplos en C# Ensayos Entretenimiento Era digital Expression Web Tutoriales F# Faculty
Connection Gadgets Heroes IIS 7

Imagine Cup
LINQ Mexico

internet

explorer Internet Explorer 8 IronPhyton JAVA JavaScript

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

NET Framework 3.5 NET Framework 4 NET Protector Noticias Office 2007 Open Source Open XML Personal PHP
Compact Framework Net Framework 3.0 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 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

Pages Acerca de Edison Artculos Tcnicos

Microsoft Student Partner

Recent Posts 2do Concurso Nacional de Diseo Industrial Genomma Lab Votacin 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 Tecnologas Microsoft Routing de pginas web ASP.NET 4.0 sin MVC Utilizando el SqlConnectionStringBuilder en C# Manejo de parmetros en Visual Studio 2010 Objeto Connection en ADO.NET Editor WYSIWYG para ASP.NET Maratn 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 Votacin Final

Juan on Votacin Final

pablo on Como hacer un formulario de Co

Samir on Utilizando el SqlConnectionStr

Samir on Hosting para .NET

leo on Excelente tutorial de una apli

vampiro on Como desbloquear un Messenger

Francisco on Maratn SQL Server 2008

carlos on Desarrollador 5 Estrellas

Lee2010 on Programming Windows Phone 7 Fr

marbin on Tutorial: Creacin de u Juan on Votacin Final

elias on Encuesta Agosto 2010 T

MS_Geek on Tutorial: Creacin de u

juan on Votacin Final

RSS Register Log in Entries RSS Comments RSS WordPress.com

Publicidad July 2011 M TWT F S S Nov 1 2 3 4 5 6 7 8 9 1 0

1 1 1 1 1 1 1 1 2 3 4 5 6 7 1 1 2 2 2 2 2 8 9 0 1 2 3 4 2 2 2 2 2 3 3 5 6 7 8 9 0 1 Colegas Microsoft Mxico 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 aplicacin 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: Creacin 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

También podría gustarte