Referencias
::  clikear.com
:: MSDN
:: Soporte Microsoft
:: MVP
:: MSDN España
:: MSDN Artículos Téc.
:: Technet España
:: News de Microsoft
:: MSDN Magazine
:: ASP.NET
 
 
  Netveloper :: SQL Server :: Articulos :: Acceso a base de datos de SQL Server CE med ...  
 
   Acceso a base de datos de SQL Server CE mediante dispositivos móviles.  
 Enviar a un amigo
     Fecha:  07/05/2006 17:41:41
     Autor:  Sergio José Villaneda Ávila  Ver comentarios
     Visitas: 34242  Comentarios: 36  Imprimir
 
  Microsoft SQL Server CE es la base de datos compacta para el desarrollo rápido de aplicaciones, tanto en el modo nativo como en .NET Compact Framework, que amplía las capacidades de administración de datos empresariales a los dispositivos.  
   
  SQL Server CE es una poderosa herramienta para el fácil desarrollo de aplicaciones móviles que soportan sintaxis del Lenguaje de Consulta Estructurado (SQL) proporcionando de un modelo de desarrollo consistente con SQL Server.

Este esta diseñado para integrarse con el Microsoft .NET Compact Framework por medio del Visual Studio simplificando el desarrollo de aplicaciones con bases de datos en dispositivos inteligentes.

Desarrollo

En este artículo vamos a crear una aplicación completa para dispositivos móviles en C#, la cual hará un acceso a una base de datos de SQL Server CE y la muestre en un DataGrid para consultarla desde nuestro dispositivo.

Primero vamos a crear un nuevo proyecto en C# y va a ser una Aplicación para Smart Device, a esta la llamaremos SQLServerCESample.

Después Visual Studio nos preguntará la plataforma de destino que vamos a utilizar, en este caso le indicaremos que será para PocketPC y será un proyecto para una aplicación Windows, imagen 2.

Dado esto nos aparecerá una forma similar a la de Windows Forms donde vamos a comenzar a hacer nuestro ejemplo, imagen 3.

Vamos a arrastrar a nuestra forma desde la barra de herramientas un DataGrid y un Boton para realizar nuestro ejemplo, imagen 4.

Después de llevado a cabo esto vamos a requerir agregar dos referencias a nuestro proyecto, estas serían:

  • System.Data
  • System.Data.Common
  • System.Data.SqlServerCe

    Ya que tenemos nuestras referencias procederemos a programar nuestra APP de la siguiente manera:

    Primeramente vamos a crear un método que se encarge de crear una tabla en nuestro SQL Server CE, el código que muestro a continuación trae sus respectivos comentarios:

    private void CrearTabla()
    {
     //Indicamos el origen de datos
     SqlCeEngine objEg = new SqlCeEngine("Data Source=\\my documents\\MiBD.SDF");
     SqlCeConnection objCon = new SqlCeConnection("Data Source=\\my documents\\MiBD.SDF");

     try
     {
      //Creamos la Base de Datos de SQL Server CE
      objEg.CreateDatabase();
      objEg.Dispose();
      objCon.Open();

      //Creamos la tabla Amigos
      SqlCeCommand objCom = new SqlCeCommand("CREATE TABLE Amigos(ID INT PRIMARY KEY, Nombre NVARCHAR(10))", objCon);
      objCom.ExecuteNonQuery();

      //Le insertamos información a la tabla Amigos
      objCom.CommandText = "INSERT INTO Amigos VALUES(1, 'MARIO')";
      objCom.ExecuteNonQuery();

      objCom.CommandText = "INSERT INTO Amigos VALUES(2, 'LUIS')";
      objCom.ExecuteNonQuery();

      objCom.CommandText = "INSERT INTO Amigos VALUES(3, 'PUYUL')";
      objCom.ExecuteNonQuery();

      objCom.CommandText = "INSERT INTO Amigos VALUES(4, 'CANCALAS')";
      objCom.ExecuteNonQuery();

      objCom.CommandText = "INSERT INTO Amigos VALUES(5, 'ELIGIO')";
      objCom.ExecuteNonQuery();

      objCom.CommandText = "INSERT INTO Amigos VALUES(6, 'COBRA DE OQUIS')";
      objCom.ExecuteNonQuery();

      objCom.CommandText = "INSERT INTO Amigos VALUES(7, 'MAL AMIGO')";
      objCom.ExecuteNonQuery();

      objCom.CommandText = "INSERT INTO Amigos VALUES(8, 'NEGRERO')";
      objCom.ExecuteNonQuery();
     }

     catch (SqlCeException ex)
     {
      Console.WriteLine(ex.Message);
     }

     finally
     {
      objCon.Close();
      objCon.Dispose();
     }
    }

    Básicamente lo que se hizo fue indicarle al SQL Server CE la ruta de nuestra base de datos, llevar a cabo la conexión, y mediante instrucciones de SQL básicas fuimos creando primeramente la tabla y después los elementos de la misma.

    Ya que hemos creado el método que nos va a dar la capacidad de crear dicha tabla, ahora vamos a mostrar los registros que acabamos de crear en nuestro DataGrid, para eso vamos al evento _Click de nuestro botón que agregamos y codificamos lo siguiente:

    private void btnCargar_Click(object sender, System.EventArgs e)
    {
     //Creamos la tabla
     CrearTabla();

     //Especificamos el origen de datos
     SqlCeConnection oCon = new SqlCeConnection("Data Source=\\my documents\\MiBD.SDF");
     SqlCeDataAdapter oDA = new SqlCeDataAdapter("SELECT * FROM Amigos", oCon);

     DataSet oDS = new DataSet("Amigos");

     try
     {
      //Rellenamos el dataset
      oDA.Fill(oDS);
     }

     catch (SqlCeException ex )
     {
      MessageBox.Show(ex.Message);
     }

     finally
     {
      //Asignamos al datasource del datagrid nuestro dataset
      oDA.Dispose();
      this.dgElements.DataSource = oDS.Tables[0].DefaultView;
     }
    }

    Lo que se hizo básicamente es crear dicha conexión e hicimos el DataBind de nuestro DataGrid a dicho origen de datos. Si corremos nuestra APP nos aparecerá algo como la imagen 6.

    Aquí nos pregunta que elijamos el dispositivo al cual queremos implementar nuestra solución. A lo cual da dos opciones:

  • Dispositivo Pocket PC. Si ya tenemos una PocketPC física conectada y sincronizada directamente con nuestra PC.

  • Emulador de PocketPC 2002. Pequeño Software que emula el dispositivo en el cual podemos hacer pruebas como si tuviéramos la PocketPC físicamente.

    Escogemos la que mejor sea nuestro caso y damos clic en Implementar.
    En dado caso de que no tengamos instalado el Compact .Net Framework, Visual Studio instalará todo lo que se requiera para tal efecto. Esto toma algo de tiempo (2 mins). Ya después terminada la instalación de componentes (si se requieren) y llevada a cabo la implementación en nuestra PocketPC se verá algo como la imagen 7.

    Y Listo!, ya hemos accedido a una base de datos de SQL Server CE desde nuestro dispositivo móvil.
  •  
    Imagen 1


    Imagen 2


    Imagen 3


    Imagen 4


    Imagen 5


    Imagen 6


    Imagen 7

     
       
      Referencias.  
      :: Código del artículo

     
      Últimos comentarios  
     
    david - dacorchuelo@hotmail.com (15/12/2009 11:49:06)
    muy buen tutorial, excelente..........muchas gracias
    justo lo que necesitaba.


    Jems - Jems_moreno_s@hotmail.com (31/08/2009 22:06:41)
    Saludos a todos,

    Veo el ejemplo bastante practico, pero habría la manera de remplazar el código por un comando que haga una insersión masiva desde un archivo txt en el pocket..?

    Gracias.




    pedro - infanfante_primero.1@hotmail.com (19/07/2009 19:41:57)
    Gracias, me ayudo mucho tu ejemplo



    [+] comentarios
     
       Comentar el artículo.  
     
     
    Pon tú nombre, email y tu comentario.

    El comentario sera validado por el equipo de netveloper y posteriormente publicado así que no te molestes en dejar spam.  

     
    Por favor no pongáis preguntas o dudas aquí, para las dudas tenéis los FOROS, en la sección comentarios solo publicare comentarios al artículo, cualquier duda pregunta la ponéis en los FOROS.

      Nombre:
      
      E-mail:
      
      Comentario:
      

      

     
     


    Google

    Todos los contenidos de este Web son propiedad de sus respectivos autores, queda prohibida su copia o difusión sin la autorización expresa.

    ethek.com | canaljuegos.com | patatastraigo.com | altersem.com |