martes, 13 de mayo de 2014

Cultura Informática


Por Diógenes Amaury MS
En el día de hoy prentendo hablar un poco de cultura informática, con el objetivo de tratar de aportar informaciones importantes, curiosas quizás,  pero que pueden ser de interés para los amantes de los diferentes lenguajes de programación e incluso Script que se ejecutan del lado servidor como asp, perl, php entre otros, que muchos neófitos suele llamar también lenguaje de programación.

Fortran:
John W. Backus, aglutinador y líder del equipo que creo Fortran en IBM, el primer lenguaje de programación usado masivamente y que significó un gran impulsó para la ciencia de la computación.

Pascal:
Lenguaje de alto nivel desarrollado a principios de los años 70 por Nyklaus Wirth, en la Universidad Técnica de Zurich, Suiza; para enseñar programación estructurada. Hay muchas originadas a partir de este primer desarrollo. Ejemplo: Turbo Pascal 7.0 de la compañía Borland.

RPG:
El lenguaje de programación RPG es un lenguaje de programación desarrollado por IBM en 1964 y diseñado para generar informes comerciales o de negocios.

COBOL:
El lenguaje COBOL (acrónimo de COmmon Business-Oriented Language, Lenguaje Común Orientado a Negocios) fue creado en el año 1959 con el objetivo de crear un lenguaje de programación universal que pudiera ser usado en cualquier ordenador.
En la creación de este lenguaje participó la comisión CODASYL, compuesta por fabricantes de ordenadores, usuarios y el Departamento de Defensa de Estados Unidos en mayo de 1959.

Visual Basic:
Visual Basic es un lenguaje de programación dirigido por eventos, desarrollado por Alan Cooper para Microsoft. Este lenguaje de programación es un dialecto de BASIC, con importantes agregados. Su primera versión fue presentada en 1991, con la intención de simplificar la programación utilizando un ambiente de desarrollo que facilitó en cierta medida la programación misma.

C++:
C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.

C#
Durante el desarrollo de la plataforma .NET, las bibliotecas de clases fueron escritas originalmente usando un sistema de código gestionado llamado Simple Managed C (SMC). En enero de 1999, Anders Hejlsberg formó un equipo con la misión de desarrollar un nuevo lenguaje de programación llamado Cool (Lenguaje C orientado a objetos). Este nombre tuvo que ser cambiado debido a problemas de marca, pasando a llamarse C#.2 La biblioteca de clases de la plataforma .NET fue migrada entonces al nuevo lenguaje.
Hejlsberg lideró el proyecto de desarrollo de C#. Anteriormente, ya había participado en el desarrollo de otros lenguajes como Turbo Pascal, Delphi y J++.

Java:
El lenguaje de programación Java fue originalmente desarrollado por James Gosling de Sun Microsystems (la cual fue adquirida por la compañía Oracle) y publicado en 1995 como un componente fundamental de la plataforma Java de Sun Microsystems. Su sintaxis deriva en gran medida de C y C++, pero tiene menos utilidades de bajo nivel que cualquiera de ellos. 

PHP:
 Es un script del lado servidor  diseñado originalmente para que el desarrollo de web dinámicas. Es entre el primer desarrollado server-side scripting lenguas que está incrustado en un documento de código fuente HTML, en lugar de llamar a un archivo externo para procesar los datos. 
PHP fue creado originalmente por Rasmus Lerdorf en 1995. La implementación principal de PHP es producida ahora por el grupo de PHP y sirve como referencia formal al  PHP.

ASP.NET es un Framework para aplicaciones web desarrollado y comercializado por Microsoft. Es usado por programadores para construir sitios web dinámicos, aplicaciones web y servicios web XML.
John W Backus(Creador de Fortran)
Nyklaus Wirth (Creador de Pascal)

Alan Cooper (Creador de Visual Basic) 
Bjarne Stroustrup (Creador de c++)

Anders Hejlsberg (Creador de C#)
James Gosling (Creador de Java)
Rasmus_Lerdorf (Creador de PHP)



sábado, 29 de marzo de 2014

Bucles en C#

Por Diogenes Amaury MS.

Un bucle es una instrucción o conjunto de instrucciones que se repite un número especificado de veces o hasta que se cumpla una condición. El tipo de bucle que deba utilizar dependerá de la tarea de programación y de sus preferencias a la hora de escribir código.  C# incluye  foreach dentro de los tipos bucles, diseñado para simplificar la iteración en matrices o colecciones.

Es importante dedicarle un buen tiempo para aprender a utilizar esta herramienta de la programación, ya que resulta imposible el poder crear una aplicación sin  la utilización de bucles, así como también el uso de condición if.

Para mostrar el funcionamiento de los bucles, utilizaremos el modo consola, sin embargo el uso es el mismo si estamos trabajando en winForm.

Iniciemos entonces con Foreach in.

La instrucción foreach repite un grupo de instrucciones incrustadas para cada elemento de una matriz o colección de objeto.

 La instrucción foreach se utiliza para recorrer la colección en iteración y obtener la información deseada, pero no se puede utilizar para agregar o quitar elementos de la colección de origen, ya que se pueden producir efectos secundarios imprevisibles.

       static void Main(string[] args)

         {

        string[] NombreDias = { "Lunes", "Martes", "Miercoles", "Jueves", "Viernes" };

            foreach (string s in NombreDias)
            {
                System.Console.WriteLine(s);
            } 
       
         Console.ReadLine();

        }


Veremos ahora diferentes formas de imprimir los numeros del 1 al 12, utilizando diferente tipos de bucle.

Bucle For

       static void Main(string[] args)

         {
         for (int numero = 1; i <= 12; i++)
            {
                Console.WriteLine(numero);
             }
           Console.ReadLine();

        }

.


  Bucle While.
       static void Main(string[] args)
         {

  
          int i = 1;
            while (i <= 12)
            {
                Console.WriteLine(i);
                i = i + 1;
            }
           
          Console.ReadLine();

        }

 Bucle do

          static void Main(string[] args)
         {
            int i = 1;
            do
            {
                Console.WriteLine(i);
                i = i + 1;
            }

            while (i <= 12);
          
          Console.ReadLine();

        }

Bien hasta aquí, el contenido para este dia, como pueden ver los bucles varían en su forma de uso pero el resultado es el mismo. 

Diogenes Amaury MS es egresado de la Universidad Dominicana O&M, es profesor universitario y trabaja en el sector privado en el área de desarrollo de aplicaciones.
e mail: diogenesystem@gmail.com







viernes, 21 de marzo de 2014

Insertar Registro en C# Utilizando Clase y Métdo

Por Diógenes Amaury MS
Salud@s Amig@s
En el dia de hoy le estare mostrando como insertar un registro a una base de datos utilizando c#, mediante una clase y su método.
Lo primero que debemos crear es la tabla en una base de datos llamada Universidad, donde vamos a almacenar la información, para nuestro ejemplo hemos creado el siguiente Script en Sql server 2008:

USE [Universidad]
GO

/****** Object:  Table [dbo].[Etudiantes]    Script Date: 03/21/2014 06:11:18 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[Etudiantes](
[MATEST] [varchar](25) NOT NULL,
[NOMEST] [varchar](30) NULL,
[APEEST] [varchar](30) NULL,
[DIREST] [varchar](100) NULL,
[CELEST] [varchar](12) NULL,
 CONSTRAINT [PK_Etudiantes] PRIMARY KEY CLUSTERED
(
[MATEST] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO



Después de crear nuestra tabla, procederemos  a crear nuestra interfaz de usuario.


a continuación muestro los nombres de cada TextBox:
 txtMatricula
 txtNombre
 txtApellido
 txtDireccion
 mskCelular

Pues bien ahora procederemos a crear una clase que nos permita interactuar con la base de datos.


 A nuestra clase le asignaremos el Nombre de Uapa, por tratarse de la Universidad donde estamso creando la clase para insertar estudiante, como ejemplo.
 
  class Uapa
    {
   
    }

El siguiente paso será  ubicarnos en los using, que estan en la parte superior y agregar los siguiente:
using System.Data.SqlClient;
using System.Collections.Generic;

Recordando que los using actúa como una directiva del compilador, haciendo que se puedan utilizar tipos definidos en el espacio de nombres importado sin necesidad de especificarlos de forma explícita en el código. Para nuestro caso lo utilizamos para indicarle al compilador con cual tipo de base de datos vamos a trabajar.

Pues bien ahora procederemos a declarar una variable del tipo SqlConnection, para indicar el servidor y nombre de la base de datos.
public SqlConnection cnn = new SqlConnection(@"Server=SERVERMIT2\SQLEXPRESS;Database=Universidad;Trusted_Connection=True;");

Ahora creamos un método, que se encargara de realizar funciones dependiendo lo que le pasemos como parametro, ya sea Insert, Update, Delete entre otros.

public void EjecutarSql(string strSql)
        {
            SqlCommand myCommand = new SqlCommand(strSql, cnn);
            myCommand.CommandType = CommandType.Text;
            cnn.Open();
            myCommand.ExecuteNonQuery();
            myCommand.Connection.Close();
            cnn.Close();
        }


Aquí le dejo la clase completa:

using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WindowsFormsApplication2
{
    class Uapa
    {
        public SqlConnection cnn = new SqlConnection(@"Server=SERVERMIT2\SQLEXPRESS;Database=Universidad;Trusted_Connection=True;");

        public void EjecutarSql(string strSql)
        {
            SqlCommand myCommand = new SqlCommand(strSql, cnn);
            myCommand.CommandType = CommandType.Text;
            cnn.Open();
            myCommand.ExecuteNonQuery();
            myCommand.Connection.Close();
            cnn.Close();
        }

    }
}


En el formulario, especificamente en el botón Guardar escribimos el siguiente código.

 private void btnGuardar_Click(object sender, EventArgs e)
 {
   Uapa ejecuta = new Uapa();
   ejecuta.EjecutarSql("INSERT INTO Etudiantes (MATEST,NOMEST,APEEST,DIREST,CELEST) VALUES ('" + txtMatricula.Text + "','" +      txtNombre.Text + "','" + txtApellido.Text + "','" + txtDireccion.Text + "','" + mskCelular.Text + "')");
 } 


Nota:
la linea que contiene ejecuta.EjecutarSql debe ir digitada de forma continua, es decir, aunque usted lo pueda ver en varias lineas este código esta escrito en una linea.

Banco BHD República Dominicana cuenta:  12175200013









martes, 11 de febrero de 2014

Xamarin y C#


Ques Xamarin???
Xamarin es una solución que permite crear aplicaciones móviles en iOS y Android usando C# y .NET como si fuesen aplicaciones para Windows o Windows Phone. Es decir, permite compartir una gran parte del código entre las aplicaciones y disminuir el tiempo de desarrollo.Es una herramienta multiplataforma pero con una filosofía distinta a lo que hemos visto anteriormente.
 Xamarin intenta compartir la lógica de la aplicación entre todas las plataformas usando un mismo lenguaje de programación  y  saben cual es ese lenguaje nada mas y nada menos que C#, pero la implementación de la interfaz de usuario se realiza con APIs nativas específicas de cada plataforma. Esto quiere decir que sólo el 60-70% del código se comparte  entre cada versión, pero por otro lado, la aplicación termina siendo mucho más robusta y con un desempeño nativo.

Xamarin Y Microsoft:
Es más fácil programar para varias plataformas al mismo tiempo, habrá más aplicaciones para Windows y Windows Phone por poner un ejemplo. Pero la cosa va un poco más allá. Para Microsoft, la plataforma .NET estaba enfocada única y exclusivamente a Windows. Sí, está Mono, pero es un proyecto aparte. Asociarse con Xamarin marca un cambio, un intento de expandir su plataforma de desarrollo a otros sistemas operativos, y eso es algo que sólo puede tener buenos resultados para desarrolladores y usuarios.
Por otra parte, Microsoft ha lanzado una nueva herramienta basada en Azure: Visual Studio Online, centrado en la colaboración en equipos ágiles, gestión de aplicaciones y soporte para Azure. Básicamente una extensión a lo que Microsoft tiene ahora con Team Foundation Service.


Ventajas de Xamarin.
Xamarin provee de los APIs esenciales de .NET (IO, networking, XML, XPath, Json, servicios de web, procesamiento en paralelo, criptografía, LINQ y otros) y encima de esto proveemos APIs nativos.   Es decir que Xamarin en iOS expone APIs de iOS, Xamarin en Mac exponen APIs de Mac, y Xamarin en Android exponen APIs de Android.


 Pueden descargar a Xamarin desde este link http://xamarin.com/

Diógenes Amaury MS
Software Engineer Y Profesor Universitario

viernes, 24 de enero de 2014

Consultando Datos En C#

Saludos Amig@s
Voy a explicar como realizar una consulta en c#, y quiero que permitan hacerlo desde cero, es decir, paso a paso, iniciaremos desde la la creación de la interfaz hasta llegar a la parte de la creación de la consulta.
Para abrirle el apetito le voy a mostrar las pantallas y de estas forma ustedes notaran la importancia de lo que pretendo enseñarle hoy.







Pues bien iniciemos, lo primero que debemos hacer es incluir un tabControl para poder clasificar en un mismo formulario tanto la consulta como la parte de registrar el cliente, estos nos evita tener que tener dos formularios uno para la consulta y otro para el registro de cliente.

Agregar un tabControl tab es bien simple, para ello pulse clic en el Toolbox, expanda la ficha Containers (contenedores) y seleccione TabControl.


Luego proceda a darle el tamaño deseado al TabControl, es muy importante que cada ficha tenga su nombre, no es obligatorio, pero es una buena practica, porque mas adelante usted tendrá que hacer referencia al nombre de esa ficha para moverse entre fichas.

Ahora vamos a crear la consulta, vamos a explicar la logística, el usuario seleccionará el tipo de consulta, es decir, indicara por cual campo desea buscar, por ejemplo si por nombre, por apellido o dirección.

para realizar esta consulta necesitamos 3 componentes, un combox , un DatagridView, y boton que contendrá el código para realizar la consulta.
En el botón buscar, escribiremos el siguiente código, que muestro en la imagen, lo coloco en una imagen como una forma de obligarlo a usted a escribir el código y así evitar el copy and paste ja ja ja

















Como pueden observar, el código  determina primero por cual obción vamos a consultar, luego utilizamos el código para realizar la consulta. es importante hacer referencia a la base de datos que estamos utilizando, para nuestro ejemplo estamos trabajando con sql server 2008, por ende en la parte superior del formlario tenemos que hacer dicha referencia.
using System.Data;
using System.Data.SqlClient;

Espero que este código sea de su utilidad, adelante el futuro es nuestro.
Diógenes Amaury MS







lunes, 23 de diciembre de 2013

Recursividad



Saludos Amig@s:
En el día de hoy tocare el tema de Recursividad, para complacer algunos de mis lectores que me han pedido alguna explicación sobre este particular.
Pues bien, antes de adentrarnos en lo que es la recursividad, debemos decir, que en programación se utilizan los ciclos repetitivos, como su nombre lo indica, nos permite repetir n cantidad de veces una o varias acciones. Y es exactamente ese, el objetivo de la recursividad, pero sin utilizar ciclos repetitivos, tales como for, do while, etc.
En pocas palabras Recursividad, es la capacidad que tiene un método o function para llamarse a sí misma.
Veamos un ejemplo:
Imaginemos que deseamos imprimir los número del 24 al 1, es decir, que iniciando en 24 y restando 1 a cada número por lo que el resultado debe ser algo como esto:
24
23
22
21
20
19
18
  .
  .
  .
1
Pues bien esto lo podemos hacer perfectamente con un for de la siguiente manera.
       class dmRecursividad
       {
 
        
        static void Main(string[] args)
        {
            for (int n=24;n>0;n--)
              {
                  Console.WriteLine(n + " ");
              }
            Console.ReadKey();
           
        }






Ahora veremos cómo logramos exactamente lo mismo utilizando un método recursivo, sin la necesidad de utilizar un ciclo for.
    class dmRecursividad
    {
       void imprimir(int x)
        {
        if (x>0)
        {
            Console.WriteLine(x + " ");
           imprimir(x-1);
        }    
       }
        static void Main(string[] args)
        {
            dmRecursividad re = new dmRecursividad();
            re.imprimir(24);
            Console.ReadKey();
           
        }


Para el ejemplo anterior declaramos un método llamado imprimir, el cual recibe un entero  X y luego la función se llama a sí misma y va restando 1 al resultado.
Esto es un ejemplo sencillo, pero puede servir de base para que ustedes sigan con este interesante tema.


lunes, 16 de diciembre de 2013

Videos Tutorias de Sql Server 2008

Saludos Amig@s
En el dia de hoy, les traigo un conunto de videos, mostrando de forma simple lo que podemos hacer con Sql Server 2008  y  C#.

Creando Stored Procedure con Sql Server 2008



Creando una función en Sql Server 2008:

Haciendo un login utilizando c# y Sql Server:


Uniendo tablas en Sql Server:





Este blog no tiene patrocinio, por lo que tus donaciones serán siempre bien recibidas, si consideras que te fueron útiles estos vides o el contenido de mi blog, aporta con tu donaciones a nuestra cuenta, los fondos seran utilizado para la creación de nuestro instituto virtual, el cual tiene como objetivo principal formar a los jóvenes en el desarrollo de software.
Bancos:

BHD cuenta:  12175200013
Banco Popular Dominicano: 762341634 

jueves, 21 de noviembre de 2013

Reloj En Tiempo Real en Java


Saludos Amig@s !! Después de una pausa en mi blog por compromisos personales, aprovecho para iniciar nuevamente con un tema super divertido, consiste en la creación de un reloj digital, utilizando a java.

Es importante decir que para tales fines utilizo los hilos de java, para los que como yo son principiante en java un hilo  es una secuencia de instrucciones que está controlada por un planificador que se comporta como un flujo de control secuencial.
El planificador gestiona el tiempo de ejecución del procesador y asigna de alguna manera dicho tiempo a los diferentes hilos actualmente presentes.
Nota no solamente esta definición es valida para Java, otros lenguajes también manejan hilos, como c# por poner solo un ejemplo.

Bien Vamos a trabajar!!!

1) Creamos un nuevo proyecto en NetBeans de nombre Reloj

2) Una vez creado agregamos un paquete llamado reloj





3) Agregamos un JFrame dando clic derecho sobre el paquete > Nuevo > Formulario JFrame y le ponemos como nombre Principal


4) Agregamos ahora una label al formulario que utilizaremos como contenedor para crear nuestro reloj digital. Podemos aplicarle diferente formato o apariencia a este objeto, como por ejemplo tamaño de letra, color etc, simplemente ubícate en el label y pulsa clic derecho y podrás modificar todas las propiedades.



5) cambiamos el nombre del label, para ello pulsamos clic derecho en el objeto label y seleccionamos cambiar nombre de variable, para nuestro ejemplo le ponemos lblHora.

Bien!!! ahora vamos a la programación!!
En Netbeans tenemos un modo diseño y otro fuente, pulsamos clic en este ultimo y escribimos los siguientes imports

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

en la definición de la clase indicamos que implementa la interfaz Runnable, esto debido a que tenemos que trabajar con hilos si queremos que nuestro reloj muestre la hora en tiempo real. 
ejemplo: public class Principal extends javax.swing.JFrame implements Runnable{

public class Principal extends javax.swing.JFrame implements Runnable {

    /** Declaramos las variables que van a contener los resultados de salida */
    int hora, minutos, segundos;
    Calendar calendario;
    Thread h1;

    public Principal() {
        initComponents();
        h1 = new Thread(this);
        h1.start();
        setLocationRelativeTo(null);//para centrar la ventana
        setVisible(true);
    }

/** Al realizar lo anterior el compilador nos indicará que es necesario implementar el método run(), así que lo agregamos de la siguiente manera: */
    
    @Override
    public void run() {
        Thread ct = Thread.currentThread();
        while (ct == h1) {
            calcula();
            lblHora.setText(hora + ":" + minutos + ":" + segundos);
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
            }
        }
    }
/** Ahora Escribimos el metodo que se encargara de alimentar las variables que declaramos para luego ser mostrada por el label */

 public void calcula() {
        Calendar calendario = new GregorianCalendar();
        hora =calendario.get(Calendar.HOUR_OF_DAY);
        minutos = calendario.get(Calendar.MINUTE);
        segundos = calendario.get(Calendar.SECOND);
    }
  }

debemos crear una clase que haga instancia  del frame Principal en la clase Reloj
para ello, en el paquete pulsamos clic derecho, nuevo clase y escribimos el nombre de la clase, para nuestro ejemplo será Reloj

ahora escribimos el siguiente codigo para hacer la instancia.
package reloj;

/**
 * @author
 * :Diogenes Amaury Martinez : ::
 */
public class Reloj {

    public static void main(String[] args) {
        new Principal();
    }
}


Pues bien ya hemos finalizado y al ejecutar nuestro programa podremos ver un reloj digital que estara sincronizado con el de tu computador.


Espero que este articulos sirva de motivación y que publiquen en mi blog nuevas mejoras para hacer lo mismo, recuerden que desde el momento que creemos que sabemos, a partir de ese mismo momento dejamos de aprender.
Att.
Diógenes Amaury Martínez Silverio

martes, 24 de septiembre de 2013

Combinar Correspondencia


Saludo@s
En el día estaremos hablando de como crear una combinación de correspondencia en Microsoft Word, pero antes de sumergimos en el proceso de explicación, debemos definir lo que es una combinación de correspondencia.

Una Combinación de correspondencia es la unión de dos archivos con la finalidad de crear un tercero con los datos combinados de los dos primeros.
Por ejemplo imagine que tiene una circular con una información x (Primer archivo) y una lista de personas que recibirán esa información (Segundo archivo), el objetivo final sera unir esto archivo y obtener el tercer archivo con la combinación de los dos archivos anteriores.

 Porque para mi la teoria sin practica  es irrelevante, procedo a mostrar en este video como logramos hacer una combinacion de correspondencia de forma simple.

Video Para Crear Combinar Correspondencia

Att.
Diogenes Amaury
e mail: diogenesystem@gmail.com


domingo, 7 de julio de 2013

Entity Framework.


Entity Framework.


Con el SP1 de Visual Studio 2008 se lanzo oficialmente Entity Framework.  se trata del  modelo de acceso a datos propuesto por Microsoft dentro de ADO.NET, que implementa el patrón ORM en el que los objetos de base de datos se mapean con entidades del modelo conceptual de objetos.
A continuación les  dejo unos enlaces con un pequeño tutorial de introducción a la tecnología. http://www.scip.be/index.php?Page=ArticlesNET12#EntityFramework

Aunque están en ingles entiendo que por los ejemplos seran de gran utilidad, adelante vamos aprender una nueva técnica de programación que nos evitara menos código en nuestra aplicaciones, acompáñenme en el proceso de aprendizaje de esta nueva técnica, al menos para mi, porque ya tiene unos años.
Diogenes Amaury MS





sábado, 15 de junio de 2013

Guardar un registro en asp.net

Guardar un registro en asp.net
By Diógenes Amaury MS

Saludos amigo@s

Hoy veremos como guardar un registro desde asp.net, para ello utilizaremos a sql server 2008 como manejador de base de datos.

Primero debemos crear una base de datos que en mi caso la nombre ControlEstudiante, una tabla llamada Estudiantes con la siguiente estructura:

       [MATEST] [varchar](15) NOT NULL
[NOMEST] [varchar](50) NULL
[APEEST] [varchar](50) NULL
[DIREST] [varchar](100) NULL





Como pueden observar en la gráfica anterior tenemos creada la interfaz con los siguientes textbox:
txtmatest
txtnomest
txtapeest
txtdirest

Ahora vamos a la propiedad Enabled de cada uno de los objetos y la cambiamos a false.
Para hacer esto simplemente seleccione el objeto y valla a la ventana de propiedades, en caso de que no este disponible pulse la tecla F4.

En el botón Nuevo agregue el siguiente código:
        Session("esnuevo") = "si"
        txtmatest.Enabled = True
        txtnomest.Enabled = True
        txtapeest.Enabled = True
        txtdirest.Enabled = True

Lo que hicimos fue declarar una variable de sesión para controlar luego si insertamos o actualizamos el registro.

agregamos la instancia con la base de datos que deseamos trabajar, para nuestro ejempoo es sql server.

Imports System.Data
Imports System.Data.SqlClient

Declaramos la conexion a la base de datos.

 Dim conexion As New SqlConnection("Data Source=USER-PC\SQLEXPRESS;Initial Catalog=ControlEstudiante;Integrated Security=True")

En el botón guardar declaramos el siguiente código.

 Dim QUERY As String
 If Session("esnuevo") = "si" Then
            QUERY = "INSERT INTO ESTUDIANTES (MATEST,NOMEST,APEEST,DIREST)" & _
                "VALUES(" & Val(txtmatest.Text) & ",'" & _
                txtnomest.Text & "','" & _
                 txtapeest.Text & "','" & _
                 txtdirest.Text & "')"
 Else
          QUERY = "UPDATE  ESTUDIANTES SET NOMEST ='" & txtnomest.Text & "', APEEST ='" & txtapeest.Text & "', DIREST = '" & txtdirest.Text & "' WHERE  MATEST LIKE '" & txtmatest.Text & "'"
        End If
        conexion.Open()
        Dim cmd1 As New SqlCommand()
        cmd1.Connection = conexion
        cmd1.CommandType =
        cmd1.CommandText = QUERY

        cmd1.ExecuteNonQuery()
        conexion.Close()
        'txtmatest.Enabled = False
        'txtnomest.Enabled = False
        'txtapeest.Enabled = False
        'txtdirest.Enabled = False
        Session("esnuevo") = "NO"





Noten que utilizamos  Session("esnuevo") para determinar si insertamos o actualizamos el registro, luego utilizamos la variable QUERY que será alimentada dependiendo del valor Session("esnuevo").
SqlCommand se encarga de ejecutar dicha sentencia sql.

hasta la próxima.








martes, 4 de junio de 2013

Hacer Login en .Net



By Diógenes Amaury MS

Hoy explicaremos la forma de hacer login en .Net, es importante destacar que este código puede ser utilizado tanto en aplicaciones de escritorios (windowsForm) como en aplicaciones web(webForm) con prácticamente el mismo código.
En el día de hoy realizaremos un login en asp.net, de manera que cuando el usuario escriba su usuario y contraseña tenga acceso a al sistema.
Código en vb.net
Importamos la clase  Data para poder conectarnos a un base de datos

Imports System.Data
Imports System.Data.SqlClient

Rem Declaramos una variable que almacenara la conexion a la base de datos.

Dim conexion As New SqlConnection("Data Source=SERVER\SQLEXPRESS;Initial Catalog=Datos;Integrated Security=True")

Rem Realizamos el código  en el botón entrar.

Protected Sub btnentrar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnentrar.Click
  Dim dt As New DataTable
  Dim csql As String
  csql = " Select * from USUARIO_M where NOMUSU ='" & TXTUSUARIO.Text & "' AND CLAUSU ='" & _ 
     TXTCLAVE.Text & "'"        
       
  Dim da As New SqlDataAdapter(csql, conexion.ConnectionString)
  conexion.Open()
  da.Fill(dt)
   If dt.Rows.Count > 0 Then
      Session("auntentico") = "si"
      Session("USUARIO") = dt.Rows.Item(0)("NOMBRE").ToString
      Response.Redirect("menu.aspx")

    Else
     lblerror.Text = "Usuario no autorizado Incorrecta"
     Session("auntentico") = "no"
   End If
   conexion.Close()     
End Sub



Código para c#
En este ejemplo utilizaremos los parámetros para conectarnos, esta misma forma la podemos utilizar en vb.net por seguridad cuando trabajamos con base de datos en la web para evitar las inyecciones sql de usuarios no autorizados.

using System.Data;
using System.Data.SqlClient;

string cadena = @"Data Source=SERVERMIT2\SQLEXPRESS;Initial Catalog=Carros;Integrated Security=True";
SqlConnection conexion = new SqlConnection(cadena);
string strsql = " Select *  from USUARIO_M where NOMUSU =@usuario AND CLAUSU =@clave";
SqlCommand cmd = new SqlCommand(strsql, conexion);
cmd.Parameters.AddWithValue("@usuario", TXTUSUARIO.Text );
cmd.Parameters.AddWithValue("@clave", TXTCLAVE.Text);
conexion.Open();
SqlDataReader rdr = cmd.ExecuteReader();
if (rdr.HasRows)
   while (rdr.Read())
    {
     // Obteniendo el resultado de la variable que contiene el nombre de usuario
     Session["usuario"] = rdr["USUASI"];
     Response.Redirect("menu.aspx");
          
    }
else
   {
                       
    lblmensaje.Text = "Error de clave o Usuario";
  }
  conexion.Close();