Translate (Traductor)

sábado, 7 de marzo de 2015

Crear Tablero o Matriz con HTML y CSS3 en ASP:NET

Hola a todos en esta ocasión y tal vez en las que siguen ya no estaré agregando tantas imágenes para mostrar la secuencia de pasos o el procedimiento a ejecutar para llegar al objetivo. Haré una breve descripción y les muestro el vídeo ya que creo es mas fácil seguir un vídeo que las imágenes.
Ok, para la creación de la matriz usaremos lo que es Visual Studio 2010 o superior, bueno son las plataformas que yo eh manejado probablemente en versiones anteriores es muy parecido la verdad no lo se ya que no las eh usado. En el vídeo creamos un proyecto de tipo web le agregamos una hoja de estilos y etiquetas DIV las cuáles nos ayudan a crear nuestros bloques para la construcción de la matriz o tablero.


Eso es todo por el momento, espero y les pueda servir, yo si lo utilize como lo menciono en el video ya que me toco hacer una matriz en un proyecto antes de terminar mi carrera de TIC.
Saludos!!!

jueves, 26 de febrero de 2015

SQL Reporting Services 2008, Creando 1 Reporte

Hola amigos, esta vez aprenderemos a crear un reporte (.rdl) en SQL Server Reporting Services (SSRS), yo se que ya hay muchos tutoriales sobre esto, pero que más da aclaro que no soy un experto simplemente voy creando a medida que voy aprendiendo y hago esto para ayudar a personas que están iniciando en esta onda al igual que yo y también para ayudar a mi persona es decir mejorar mis conocimientos, ok dicho esto LET'S DO IT!

El lenguaje RDL (Report Definition Language) es una representación XML de una definición de informe de SQL Server Reporting Services. Una definición de informe contiene información acerca de la recuperación y el diseño de los datos de un informe (msdn.microsoft.com).

XML, siglas en inglés de eXtensible Markup Language, es un lenguaje de marcas desarrollado por el World Wide Web Consortium (W3C) utilizado para almacenar datos en forma legible, digamos que es similar al html pero mucho mas sencillo (es.wikipedia.org).

Pasos para crear nuestro reporte:
  • Tener una base de datos y una tabla cualquiera con datos.
  • Abrir nuestro SQL Server Bussines Intelligence 2008, se instala cuando instalamos SQL Server 2008 R2

  • Crear nuevo proyecto, (Archivo - Nuevo - Proyecto) pongan el nombre que gusten y den aceptar (yo le puse firstProject).

  • Le damos click al proyecto generado, 

  • Agregamos nuevo elemento 

  • creamos nuestro reporte dando click en aceptar.


Ok lo siguiente es crear la conexion para enlazar con nuestra base de datos y poder mostrarlos en nuestro reporte
  1. Seleccionamos nuevo y seleccionamos origen de datos
  2. Escribimos nombre de nuestra conexión (origen de datos)
  3. Click en botón editar
  4. Escribimos el nombre de nuestro servidor, seleccionamos autenticación de windows o usar autenticación SQL Server, elejimos nuestra base de datos (la mía se llama DBLibrary)
  5. probamos la conexión y aceptamos.


Agregamos nuestro Dataset
  1. Click derecko en Conjunto de datos y Agregamos conjunto de datos
  2. poner nombre a DataSet yo deje el nombre por default
  3. Elejimos la conexión creada y marcar radioButton Texto
  4. Botón Dise&ñtilde;ador de consultas
  5. Agregamos la tabla. elijan 1 si es que tienen mas de 1
  6. Seleccionamos los campos que desamos mostrar en el reporte
  7. Ejecutamos nuetro query presionando el signo de admiración, aceptar y aceptar, ya hemos crado nuestro dataset


Por último nos colocamos en el cuadro blanco de diseño y dando click derecho agregamos:
  • Encabezado de página
  • Tabla
  • Pie de página
  • Agregamos 2 cajas de texto una en el encabezado y una en el pie de página
  • En la tabla insertamos los campos de nuestro dataset, por default la tabla aparece con tres columnas para agregar mas seleccionan la tabla, se colocan en el encabezado de la 3er. columna, click derecho -insertar columna - derecha

para ver el reporte cargado nos posicionamos en vista previa si nos pide login escribimos el de nuestra conexión si la configuramos de esa forma.
Ok, eso es todo amigos espero y les sirva.
Aki esta el video!



Fuentes consultadas:
msdn.microsoft.com/es-MX/library/ms155062.aspx es.wikipedia.org/wiki/Extensible_Markup_Language

sábado, 14 de febrero de 2015

System.Diagnostics.Process.Start()

Hoy vamos a hablar sobre el espacio de nombres System.Diagnostics, siendo un poco mas precisos sería en plural ya que aquí se encuentran agrupados 10 espacios de nombres:
System.Diagnostics
System.Diagnostics.CodeAnalisis
System.Diagnostics.Contracts
System.Diagnostics.Design
...
por mencionar algunos.
Es importante señalar que cada espacio de nombres tienen sus propias clases dentro de las cuales se encuentran propiedades, métodos, eventos y constructores.
El primero será el que ocupará nuestra atención en esta ocasión y del cual explicaremos ¿para que sirve?, hablaremos también de una de sus clases llamada Process y del método Star() el cual lógicamente pertenece a esta clase, y por ultimo cerraremos con un sencillo ejemplo el cual nos ayudará a comprender de mejor manera la teoría explicada a continuación.

System.Diagnostics
Los espacios de nombres System.Diagnostics contienen tipos que "le permiten interactuar con procesos del sistema", registros de eventos y contadores de rendimiento. Los espacios de nombres secundarios contienen tipos para interactuar con herramientas de análisis del código, admitir contratos, ampliar la compatibilidad en tiempo de diseño con la supervisión e instrumentación de aplicaciones, registrar datos de eventos mediante el subsistema Seguimiento de eventos para Windows (ETW), leer registros de eventos y escribir en ellos y recopilar datos de rendimiento, y para leer y escribir información de símbolos de depuración.
Esta es la definición que se da en la pagina oficial de msdn.microsoft.com al final dejare los links de las fuentes.

La clase Process proporciona funcionalidad para supervisar los procesos de sistema en toda la red y para iniciar y detener procesos del sistema local.

El método Start() Inicia (o reutiliza) el recurso de proceso especificado en la propiedad StartInfo de este componente Process y lo asocia al componente. Tambien existe un metodo llamado Kill() para finalizar procesos.

Ok ahora vamos a realizar una sencilla aplicación.
Lo primero que hay que hacer, abrir su visual studio 2013 Express y crean su proyecto en windows forms si tiene otra versión esta bien yo recomiendo esta porque es gratuita no se ocupa licencia y la podemos descargar del sitio oficial, pueden buscar en mis publicaciones si desean saber como descargarla e instalarla.


Controles necesarios
2 Labels
1 ComboBox
Propiedades:
text = Opciones  items = agreguen nombres de programas a iniciar ejem: word, notepad, etc, deben coincidir con los del Case( ver código )
1 Button




// This is the Code!! :D

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

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

        private void button1_Click(object sender, EventArgs e)
        {
/* en en su caso pongan las rutas donde se alojen las aplicaciones que quieran iniciar
 y escriban en el combobox en su propiedad items los nombres de la misma manera que en el
 switch */
            switch (comboBox1.Text)
            {
                case "Word":
                    System.Diagnostics.Process.Start(@"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Office 2013\Word 2013");
                    break;
                case "Sublime":
                    System.Diagnostics.Process.Start(@"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Sublime Text 2");
                    break;
                case "Notepad":
                    System.Diagnostics.Process.Start(@"C:\Users\ReedRichards\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\NotePad");
                    break;
                case "google":
                    System.Diagnostics.Process.Start("www.google.com");
                    break;
                case "Unidad C":
                    System.Diagnostics.Process.Start("C:");
                    break;
                case "Unidad Z":
                    System.Diagnostics.Process.Start("Z:\\");
                    break;
                case "Projects Visual Studio 2013":
                    System.Diagnostics.Process.Start(@"C:\Users\ReedRichards\Documents\Visual Studio 2013\Projects");
                    break;
                case "Backup DataBases":
                    System.Diagnostics.Process.Start(@"C:\Program Files\Microsoft SQL Server\MSSQL10_50.MANUEL\MSSQL\Backup");
                    break;
                default:
                    MessageBox.Show("Elija una opción en el combo");
                    break;
                //C:\Users\ReedRichards\Documents\Visual Studio 2013\Projects
                //C:\Program Files\Microsoft SQL Server\MSSQL10_50.MANUEL\MSSQL\Backup
            }
         
         
         
        }
    }
}



Bueno hasta aqui llego espero y les sea util pronto hare el video en youtube para checar la utilidad que nos genera este método (Start())
Aquí esta el video!
http://youtu.be/SymRbiKOpQQ

Fuentes Consultadas:
https://msdn.microsoft.com/es-es/library/gg145030(v=vs.110).aspx
https://msdn.microsoft.com/es-es/library/system.diagnostics.process(v=vs.110).aspx
https://msdn.microsoft.com/es-es/library/e8zac0ca(v=vs.110).aspx

miércoles, 11 de febrero de 2015

Calculate the Area in Windows Forms with C# (Calcular el área)

Programaremos el área de un cuadrado creando de forma automática la figura de acuerdo a las medidas que nosotros ingresemos como Base y Altura y mostraremos el resultado en una caja de texto, pero antes les dejo dos  definiciones de área y una descripción de la librería System.Drawing, al final de la página estan las referencias consultadas.

Que es el área?
Área se define a la cantidad de espacio dentro de los límites de un objeto plano ( objeto de 2 dimensiones).
Otra definición: área se refiere al espacio de tierra que se encuentra comprendido entre ciertos límites. En este sentido un área es un espacio delimitado por determinadas características geográficas, zoológicas, económicas o de otro tipo.

System.Drawing
El espacio de nombres System.Drawing proporciona acceso a funcionalidad de gráficos básica de GDI+. En los espacios de nombres System.Drawing.Drawing2D, System.Drawing.Imaging y System.Drawing.Text se proporciona funcionalidad más avanzada.
La clase Graphics proporciona métodos para dibujar en el dispositivo de pantalla. Clases como Rectangle y Point encapsulan primitivos de GDI+. La clase Pen se utiliza para dibujar líneas y curvas, mientras que las clases derivadas de la clase abstracta Brush se utilizan para rellenar el interior de las formas.

Controles Utilizados:
TextBoxs (3), ComboBoxs(1), Buttons(1), Labels(5) y PictureBox(1)
Los nombres de los textboxs son los siguientes
txtBase
txtAltura
txtArea
Los demas controles tienen el nombre asignado por default.
Para llenar el comboBox en sus propiedades items y text asignamos estos valores:

ItemsCms
Plgs
Pies
Mtrs
Kmts
Miles
textUnidad

This is the Code!!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

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

        // Declaramos las variables
        float _base, _altura;

        // objetos de la librería System.Drawing;
        System.Drawing.Graphics dibujo;
        System.Drawing.Pen MyPencil = new Pen(Color.Blue, 10);// color del borde y el ancho del borde


        private void button1_Click(object sender, EventArgs e)
        {
            Graficar();
        }
        // declaramos un metodo
        private void Graficar()
        {
            // declaramos area del dibujo
            dibujo = this.pictureBox1.CreateGraphics();
            // dibujaremos el cuadrado partiendo de las coordenadas(10, 10) de nuestro pictureBox
            dibujo.TranslateTransform(10, 10);
            _base = Convert.ToSingle(txtBase.Text);
            _altura = Convert.ToSingle(txtAltura.Text);

            dibujo.DrawRectangle(MyPencil, 0, 0, _base, _altura);
            //hacemos la multiplicación del la Base y la Altura
            //y convertimos a cadena y concatenamos las unidades
            //para finalmente asignar al txtArea.Text
            txtArea.Text = (_base * _altura).ToString() + " " + comboBox1.Text + "^2";

           // pictureBox1.Image = null; // sirve para limpiar la imagen del Picture
        }
    }
}

Resultado:
Form1



Glosario:
GDI: Interfaz de Diseño Gráfico de Windows, denominada GDI+, que permite crear gráficos, dibujar texto y manipular imágenes gráficas como si fueran objetos.

Vean mis videos en youtube:
https://www.youtube.com/channel/UChwXdDv6QSAPIVY3hQy2mDA/videos

sábado, 7 de febrero de 2015

Descargar Visual Studio Express 2013 del sitio Oficial, es gratis!! :D

A mi en lo personal si me gusta bastante el framework de Visual Studio,hablando en especifico de ASP.NET (Desarrollo web) aclaro que mi experiencia es poca pero pronto aprenderemos mas. 
Al principio es bastante tedioso aprenderlo ya que involucra HTML, CSS, Javascript y por supuesto C#, bueno en mi caso así lo fue porque mis conocimientos sobre Javascript eran nulos, nada, cero (aun se muy poco) :D, HTML poco y CSS casi nada.

Bien antes de ver los pasos para descargarlo dejo estas 2 definiciones:

Definición de Visual Studio
Visual Studio es un conjunto completo de herramientas de desarrollo para la generación de aplicaciones web ASP.NET, Servicios Web XML, aplicaciones de escritorio y aplicaciones móviles. Visual Basic, Visual C# y Visual C++ utilizan todos el mismo entorno de desarrollo integrado (IDE), que habilita el uso compartido de herramientas y facilita la creación de soluciones en varios lenguajes. Asimismo, dichos lenguajes utilizan las funciones de .NET Framework, las cuales ofrecen acceso a tecnologías clave para simplificar el desarrollo de aplicaciones web ASP y Servicios Web XML.
información extraida de:
https://msdn.microsoft.com/es-es/library/fx6bk1f4(v=vs.100).aspx

Definición de ASP.NET
ASP.NET es un modelo de desarrollo Web unificado que incluye los servicios necesarios para crear aplicaciones Web empresariales con el código mínimo. ASP.NET forma parte de .NET Framework y al codificar las aplicaciones ASP.NET tiene acceso a las clases en .NET Framework. El código de las aplicaciones puede escribirse en cualquier lenguaje compatible con el Common Language Runtime (CLR), entre ellos Microsoft Visual Basic, C#, JScript .NET y J#. Estos lenguajes permiten desarrollar aplicaciones ASP.NET que se benefician del Common Language Runtime, seguridad de tipos, herencia, etc.
información extraida de:
https://msdn.microsoft.com/es-es/library/4w3ex9c2%28v=vs.100%29.aspx


Ahora sí a descargar Primero nos vamos a la página oficial:
http://www.visualstudio.com/downloads/download-visual-studio-vs,, le damos click en Express 2013 with Update 4 for Web, seleccionamos el lenguaje y en DVD9 ISO Image damos click
ver imagen




Al dar click en DVD9 ISO Image nos abrira una nueva ventana, se loguean con su cuenta de correo:
Luego en la siguiente ventana agregan su nombre completo  dan continuar
Y les apareceran 2 opciones de descarga, si eso no pasa se regresan a la página donde esta la imagen ISO (DVD9 ISO Image), seleccionan su lenguaje y descargan la imagen, si les aparece mas de una opción de descarga eligen Express 2013 para web o Desktop (de escritorio), personalmente yo descargue las 2 instale primero la express para web y despues la de escritorio, con la de web batalle en instalarla pero todo salio bien y con la de escritorio el proceso fue bastante rápido ya que pienso muchos archivos que ocupa son los mismos que se instalan con la de web o viceversa.

Bueno eso es todo amigos, espero y les sea de utilidad si tienen alguna duda o comentario adelante y si gustan pueden visitar mi canal en youtube para que vean el vídeo de descarga e instalación donde explico el proceso.
Saludos!! :D
link del video:
http://youtu.be/8O_fc_d0Bzg
Mi canal
https://www.youtube.com/channel/UChwXdDv6QSAPIVY3hQy2mDA/videos

jueves, 5 de febrero de 2015

Insert, Select y Update de Datos con Visual Studio 2013 C# usando Store Procedures

Hola de nuevo, pues aquí estamos con una nueva entrada ahora aprenderemos a crear un proyecto de Windows Forms en Visual Studio 2013, para insertar datos y mostrar los registros en un control DataGridView en el formulario.
La creación del archivo AppConfig para la conexión la omito, ya que en la publicación de mi blog Configurar AppConfig lo explico,  el script de sql te genera 4 consultas las 2 primeras son las que utilizaremos (Insertar y Listar)y las otras 2 son para Modificar y borrar registros no agregue el código para estas 2 últimas intenten hacerlo ustedes si tienen alguna duda podrán dejar sus comentarios al final.

Lo primero es crear un nuevo proyecto de windows forms C# nos vamos a Archivo - Nuevo - Proyecto  así como se muestra en las imagenes para ampliar las imagenes den click sobre ellas:

Una vez creado procedemos a realizar nuestro diseño para eso necesitaremos agregar 4 Labels, 4 textBoxs, 3 buttons y 1 DataGridView.
Los nombraremos de la siguiente manera:
pare eso nos vamos a propiedades del control, si no les aparece la ventana de propiedades  damos click derecho sobre un control cualquiera, y buscamos su atributo (Name) y ahi es donde agregamos sus nombres:
TextBoxs txtNom, txtDir, txtEst, txtID,
Buttons btnGuardar, btnModificar, btnEliminar
DataGridView gvEmpresas, a los labels no les aplicamos la propiedad ver imagen.
Ahora procedemos a agregar las clases para agregar funcionalidad para eso creamos 2 clases:
clsEmpresa.cs: contiene las propiedades.
clsEmpresaTrans.cs: contiene los metodos para las transacciones entre sql server 2014 y visual studio 2013


// Código para la clase clsEmpresa

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

namespace Catalogo
{
    public class clsEmpresa
    {
        // declaracion de variables
        private int intidempresa = 0;
        private string strnombre = string.Empty;
        private string strdireccion = string.Empty;
        private string strEstado = string.Empty;
        private DateTime DttfechaRegistro = DateTime.Now;
        private bool booactiva = false;

        //constructores
        public clsEmpresa() { }
        public clsEmpresa(int paridempresa
                        , string parnombre
                        , string pardireccion
                        , string parEstado
                        , DateTime parfechaRegistro
                        , bool paractiva)
        {
                        intidempresa = paridempresa;
                        strnombre = parnombre;
                        strdireccion = pardireccion;
                        strEstado = parEstado;
                        DttfechaRegistro = parfechaRegistro;
                        booactiva = paractiva;
        }

        // propiedades get - set
        public int idempresa { get { return intidempresa; } set { intidempresa = value; } }
        public string nombre { get { return strnombre; } set { strnombre = value; } }
        public string direccion { get { return strdireccion; } set { strdireccion = value; } }
        public string Estado { get { return strEstado; } set { strEstado = value; } }
        public DateTime fechaRegistro { get { return DttfechaRegistro; } set { DttfechaRegistro = value; } }
        public bool activa { get { return booactiva; } set { booactiva = value; } }
    }
}

// Código para la clase clsEmpresaTrans

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

namespace Catalogo
{
    public class clsEmpresaTrans
    {

        SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["cnn"].ConnectionString);
        clsEmpresa empresa = new clsEmpresa();
        SqlCommand cmd = null;
        SqlDataAdapter da = new SqlDataAdapter();
        DataTable dt = new DataTable();

        //constructores
        public clsEmpresaTrans() { }
        public clsEmpresaTrans(clsEmpresa parEmp)
        {
            empresa = parEmp;
        }

        // Metodos
        public bool Guardar()
        {
            try
            {
                cmd = new SqlCommand("SPEmpresa", cnn);
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add("@opc", SqlDbType.Int).Value = 1;
                cmd.Parameters.Add("@idempresa", SqlDbType.Int).Value = empresa.idempresa;
                cmd.Parameters.Add("@nombre", SqlDbType.VarChar, 100).Value = empresa.nombre;
                cmd.Parameters.Add("@direccion", SqlDbType.VarChar, 200).Value = empresa.direccion;
                cmd.Parameters.Add("@Estado", SqlDbType.VarChar, 50).Value = empresa.Estado;
                cmd.Parameters.Add("@fechaRegistro", SqlDbType.SmallDateTime).Value = empresa.fechaRegistro;
                cmd.Parameters.Add("@activa", SqlDbType.Bit).Value = empresa.activa;

                cnn.Open();
                cmd.ExecuteNonQuery();
                return true;
            }
            catch (Exception)
            {
                cnn.Close();
                return false;
            }
            finally
            {
                cnn.Close();
            }
        }

   

        public DataTable Listar()
        {
            try
            {
                cmd = new SqlCommand("SPEmpresa", cnn);
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add("@opc", SqlDbType.Int).Value = 2;
                cnn.Open();
                da.SelectCommand = cmd;

                da.Fill(dt);
                return dt;
            }
            catch (Exception)
            {
                cnn.Close();
                return dt = null;
            }
            finally
            {
                cnn.Close();
            }
        }
    }
}


// Código que agregamos al formulario (Form1.cs) que se ha creado por default

using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Configuration;
using System.Data.SqlClient;

namespace Catalogo
{
    public partial class Form1 : Form
    {
        clsEmpresa parEmp = new clsEmpresa();
        clsEmpresaTrans empTrans = null;
        DataTable dt = new DataTable();
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            listar();
        }

        private void listar()
        {
            empTrans = new clsEmpresaTrans(parEmp);

            dt = empTrans.Listar();
            if (dt.Rows.Count > 0)
            {
                gvEmpresas.DataSource = dt;
            }
            else
            {
                MessageBox.Show("No hay filas que mostrar " + dt.Rows.Count.ToString() + " filas");
            }
        }

        private void btnGuardar_Click(object sender, EventArgs e)
        {
            parEmp.nombre = txtNom.Text;
            parEmp.direccion = txtDir.Text;
            parEmp.Estado = txtEst.Text;

            empTrans = new clsEmpresaTrans(parEmp);

            if (empTrans.Guardar())
            {
                MessageBox.Show(" Se registro correctamente la información");
                listar();
            }
        }
    }
}

-- Script para crear la base de datos, su tabla y su SP

 create database DBTuto-- creamos la base de datos
 go

 use DBTuto-- nos posicionamos en ella
 go

 create table Empresa-- creamos la tabla
 (
 idempresa int identity(1,1) primary key
, nombre varchar(100)
, direccion varchar(200)
, Estado varchar(50)
, fechaRegistro smalldatetime default(getdate())
, activa bit default(1)
 )
 go

 create procedure SPEmpresa-- creamos el SP
 @opc int
 , @idempresa int = null
 , @nombre varchar(200) = null
 , @direccion varchar(200) = null
 , @Estado varchar(50) = null
 , @fechaRegistro smalldatetime = null
 , @activa bit = null
 as
 -- el SP tiene 4 consultas las cuales se ejecutan dependiendo de la opcion elegida
 -- Inserccion de datos
 if @opc = 1
 begin
insert into Empresa(nombre, direccion, Estado)
values( @nombre, @direccion, @Estado)
 end

 -- Listar datos
 if @opc = 2
 begin
select a.idempresa, a.nombre, a.direccion, a.Estado, a.fechaRegistro, a.activa from Empresa a
 end

 -- Actualizar datos
 if @opc = 3
 begin
update Empresa set
 nombre = @nombre
, direccion = @direccion
, Estado = @Estado
where idempresa = @idempresa
 end

 -- Borrado logico
 if @opc = 4
 begin
update Empresa set activa = 1 where idempresa = @idempresa
 end

Resultado:


Bueno eso es todo amigos, Nos vemos en la próxima!!

Mira el video en youtube!!
http://youtu.be/xb5Z-aJsDXM

Fuente consultada:
https://msdn.microsoft.com/es-es/library/system.data.sqlclient.sqldataadapter.selectcommand(v=vs.110).aspx

miércoles, 4 de febrero de 2015

DirectoryInfo.GetDirectories () C#

De acuerdo a una consulta que surgió en el foro de HagamosVideojuegos por el compañero Alberto Marcogliese me di a la tarea de realizar esta entrada sobre la librería System.IO C# que contiene la clase Directory.Info y pues antes de tirar código busque algunos conceptos los cuales siempre son necesarios conocer para comprender el funcionamiento del mismo.

System.IO

El espacio de nombres System.IO contiene tipos que permiten leer y escribir en archivos y flujos de datos, así como tipos que proporcionan compatibilidad básica con los archivos y directorios.

DirectoryInfo(Clase) 

Expone métodos de instancia para crear, mover y enumerar archivos en directorios y subdirectorios. Esta clase no puede heredarse.

Name(Propiedad)
Obtiene el nombre de esta instancia de DirectoryInfo. (Invalida a FileSystemInfo.Name).

Directoy(Clase)

Expone métodos estáticos para crear, mover y enumerar archivos en directorios y subdirectorios. Esta clase no puede heredarse.

Metodos:
Exits Determina si la ruta de acceso dada hace referencia a un directorio existente en el disco.
GetDirectories Obtiene los nombres de los subdirectorios (incluyendo sus rutas de acceso) del directorio especificado.

Bueno aquí muestro la imagen del form que contiene un TextBox (txtPath), Button (btnBuscar), un ComboBox (cboDirectorios) y unas Labels (3).





--This is the code!! :XD 
using System.IO; -- Librería que agregue :D

  private void btnBuscar_Click(object sender, EventArgs e)

        {
            // Make a reference to a directory.
            if (txtPath.Text != "")
            {
                if (Directory.Exists(txtPath.Text))
                {
                    DirectoryInfo di = new DirectoryInfo(txtPath.Text);
                    // Get a reference to each directory in that directory.
                    DirectoryInfo[] diArr = di.GetDirectories();
                    if (diArr.Length > 0)
                    {
                        // Display the names of the directories.
                        foreach (DirectoryInfo dri in diArr)
                            cboDirectorios.Items.Add(dri.Name);
                    }
                    else { MessageBox.Show("No hay directorios Disponibles.."); }
                }
                else { MessageBox.Show("La ruta que agrego no contiene Directorios o no Existe.."); }
            }
            else
            {
                MessageBox.Show("Agregue la ruta donde buscara sus directorios..");
            }

        }

Eso es todo amigos hasta la próxima!!
Mira el video en Youtube!!
http://youtu.be/_qLtpfcCu4I

fuente Consultada:
https://msdn.microsoft.com/es-es/library/System.IO(v=vs.110).aspx

martes, 3 de febrero de 2015

Configurar AppConfig C# Conectándonos a SQLServer


Para poder conectarnos a SQLServer por medio del archivo AppConfig el cual en el Visual Studio 2013 se nos genera automaticamente al crear un proyecto ya sea este de consola, windows forms o asp.net. Si no esta el archivo AppConfig los creamos de esta manera:

Explorador de Soluciones -
Posicionarse en nombre del proyecto (en mi caso es cmdAppConfig) -
click derecho - Agregar -
Nuevo elemento o Componente -
Seleccionamos Archivo de configuración de aplicaciones -
click en Agregar.


Ahora necesitamos agregar nuestra cadena de conexion de esta forma:
Lo que esta dentro del recuadro gris es lo que necesitamos

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name="cnn"
      connectionString="Data Source=MAGIC\SQLEXPRESS; Initial Catalog=BD1;
      user id=sa; password=123;"  providerName="System.Data.SqlClient"/>
  </connectionStrings>
</configuration>

Luego tendremos que agregar la referencia System.Configuration de esta manera:

Explorador de Soluciones -
Posicionarse en References -
click derecho - Agregar referencia.. -
Seleccionamos System.Configuration (Marcar el cuadrito) -
click en Aceptar.

Una vez configurada nuestra cadena de conexion aplicamos este codigo en nuestro archivo Program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
// agregamos la librerías si no las tenemos
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

namespace cmdAppConfig
{
    class Program
    {
        static void Main(string[] args)
        {
            SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["cnn"].ConnectionString);

            cnn.Open();
            if (cnn.State == ConnectionState.Open)
            {
                Console.WriteLine("La conexion con sql esta abierta");
                Console.ReadKey();
            }
        }
    }
}

Ejecutamos el programa y listo!! Recuerden esto es solo para saber si se puede establecer la conexión con SQLServer


Mira el vídeo en Youtube!!

lunes, 2 de febrero de 2015

SQL Server 2014 creando Base de Datos, Tabla y Store Procedure con Query


Hola a todos, en esta mi primera incursión como blogger describiré como crear una base de datos, una tabla y un store procedure mediante un script o consulta (query). Aquí les dejo el script
pueden copiarlo tal cual y probar en cualquier sql server
-- Esta instrucción nos crea la base de datos
create database BD1
go

-- Nos posicionamos en nuestra base de datos
use BD1
go

-- creamos la tabla mascotas
create table mascotas
(
 id int identity(1,1)
, nombreMascota varchar(20)
, descripcionMascota varchar(100)
, raza varchar(20)
, genero varchar(20)
, edad varchar(20)
, fechaRegistro smalldatetime default(getdate())
)
go

-- creamos el SP "SPmascotas" el cual tiene 2 opciones (2 consultas)
-- a las que accederemos dependiendo del @opc llamada
create procedure SPmascotas
  @opc int
, @id int
, @nombreMascota varchar(20)
, @descripcionMascota varchar(100)
, @raza varchar(20)
, @genero varchar(20)
, @edad varchar(20)
, @fechaRegistro smalldatetime

as

if @opc = 1
begin
select * from mascotas
end

if @opc = 2
begin
insert into mascotas(nombreMascota, descripcionMascota, raza, genero, edad)
values(@nombreMascota, @descripcionMascota, @raza, @genero, @edad)
end
go

Vídeo de youtube explicando el script
Link Oficial SQLserver Express 2014