View
721
Download
2
Embed Size (px)
Citation preview
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
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
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
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#
gentoo linux, java, software libre y otras hierbas
$HOME casidiablo.tv Autor Contribuir Java C# y .NET
Sígueme...
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 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)
?
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;
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
{
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;
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
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
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
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);
}}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#
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();
}
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
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;
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
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++)
{
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("\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*/}
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,
@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]
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.
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.
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:
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:
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:
//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.
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();
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();
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
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();
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();
} } }
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();
} } }
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
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:
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;
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 código, Saludos..
Filed under Ejemplos en C#
Search for: Search
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
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
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)
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 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…
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
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