Dispositivos móviles y datos (C# y Java)

Actualización: noviembre 2007

Con C# y .NET Compact Framework, puede administrar y tener acceso a datos de bases de datos de un dispositivo móvil usando los mismos conceptos y API similares a las que utilizaría en la programación de bases de datos de un equipo de escritorio. En dispositivos móviles, ADO.NET proporciona un subconjunto de API de equipo de escritorio que tiene como destino dispositivos Windows CE, incluidos dispositivos Pocket PC y Smartphone. Para obtener más información, consulte Acceso a bases de datos (C# y Java).

Java

En Java, puede utilizar J2ME y JDBC para tener acceso a una base de datos desde un dispositivo móvil. Para obtener más información, consulte Acceso a bases de datos (C# y Java). J2ME no representa una API única en todos los dispositivos y no tiene un entorno de desarrollo único. Además, J2ME se debe ejecutar en un equipo virtual, KVM o JVM, según la configuración.

C#

En C#, para realizar una operación de lectura de bases de datos, pueden utilizarse los conceptos habituales de conexión, comando y tabla de datos, tanto en el escritorio como en el dispositivo móvil. Utilice el espacio de nombres System.Data.SqlServerCe y sus clases. Por ejemplo, puede hacer lo siguiente:

  • Utilizar System.Data.SqlServerCe.SqlCeConnection para la conexión de base de datos.

  • Utilizar System.Data.SqlServerCe.SqlCeCommand para el objeto de comando SQL.

  • Utilizar un objeto de conjunto de resultados como DataTable para el objeto de tabla de datos.

.NET Framework proporciona DataAdapter para permitirle utilizar fácilmente y de forma conjunta las clases previamente mencionadas. El objeto System.Data.SqlServerCe.SqlCeConnection se puede establecer mediante la propiedad de conexión System.Data.SqlServerCe.SqlCeDataAdapter del objeto.

La consulta que se va a ejecutar se especifica mediante la propiedad System.Data.SqlServerCe.SqlCeDataAdapter.SelectCommand de DataAdapter o bien se pasa la consulta al constructor de DataAdapter junto con el objeto de conexión.

da = new SqlCeDataAdapter("SELECT * FROM Users", cn);

El objeto DataTable se crea utilizando el método Fill del objeto DataAdapter. El objeto DataAdapter contiene los datos del conjunto de resultados devueltos por la consulta. Se puede recorrer en iteración el objeto DataAdapter para obtener acceso a las filas de datos usando la colección Rows.

El código siguiente muestra cómo tener acceso a las filas de una tabla en una base de datos de SQL Server CE (SQLCE) de un dispositivo móvil.

namespace DataAccessCE
{
    using System.Data;
    using System.Data.SqlServerCe;

    class DataAccessCE
    {
        public static string connectionString = "";
        public static SqlCeConnection cn = null;
        public static SqlCeDataAdapter da = null;
        public static DataTable dt = new DataTable();

        static void Main()
        {
            connectionString = "Data Source=\\My Documents\\Database.sdf" ;
            cn = new SqlCeConnection(connectionString);

            da = new SqlCeDataAdapter("SELECT * FROM Users", cn);
            da.Fill(dt);

            foreach (DataRow dr in dt.Rows)
            {
                System.Console.WriteLine(dr[0]);
            }
        }
    }
}    

Para obtener más información, vea los temas siguientes:

Compilar el código

Antes de poder trabajar con una base de datos SQLCE desde una aplicación, debe agregar una referencia a System.Data.SqlServerCe en el proyecto. Para ello, haga clic en Agregar referencia en el menú Proyecto del entorno de desarrollo. A continuación, seleccione el componente System.Data.SqlServerCe en el cuadro de diálogo Agregar referencia.

Nota:

Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio incluidos en las instrucciones siguientes. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, vea Valores de configuración de Visual Studio.

Programación sólida

Para compilar y ejecutar el código, necesita lo que se indica a continuación; de lo contrario, se produce un error en la línea da.Fill(dt); y se produce una excepción.

  • SQL Server CE instalado en el dispositivo.

  • Una tabla de base de datos en la que existan algunos datos para realizar pruebas en una base de datos SQLCE denominada Database.sdf. Esta tabla se puede generar en el dispositivo usando herramientas SQL CE; también se puede replicar desde un equipo de escritorio con SQL Server para generar el archivo .sdf. Puede agregar el archivo .sdf al proyecto o copiarlo manualmente en el directorio especificado en la cadena de conexión.

Vea también

Conceptos

Guía de programación de C#

Datasets de ADO.NET

Referencia

Smart Devices (Cómo se utiliza en C#)

SqlConnection

SqlCommand

Otros recursos

C# para desarrolladores de Java

Desarrollo de dispositivos inteligentes

DataSets, DataTables y DataViews (ADO.NET)