En este caso utilizaremos;
- Lenguaje de programación C# o C sharp.
- Programación orientada a objetos. :)
- Microsoft Visual studio 2008.
- Disponible en descargar, versión prueba de 90 días.
- Service Pack 1 está disponible en http://www.microsoft.com/es-es/download/details.aspx?id=10986
- Windows Mobile 5 SDK
Una vez instalados todos los requerimientos procedemos a seguir los pasos siguientes:
- Paso 2 . Elegir la plataforma "Windwos Mobile 5.0 Pocket PC SDK" con "Device Application"
- Paso 3. Crear una base de datos llamada "Inventario" y una tabla llamada "artículos"
Vamos al proyecto agregamos un nuevo item y en DATA seleccionamos "database file", al dar agregar aparece una ventana dar click en "cancelar" no es necesario crear un data set.
Nota: en lo personal los data set creados en diseño no me gustan, prefiero hacerlos manuales...
- Paso 4. Agregar un datagrid
Nota: en caso de enlazar la aplicación a una base de datos normal deben agregar la referencia "System.Data.SqlClient", en este ejemplo se necesita la referencia "System.Data.SqlServerCe" debido a que es una base de datos compacta incluida en el proyecto.
- Paso 5. Crear una clase llamada "ConnectClass"
Primero tenemos que agregar...
using System;
using
System.Data;
using
System.Data.SqlServerCe;
using
System.Windows.Forms;
En esa función de la clase se añade código para establecer la conexión con la base de datos.
public ConnectClass()
{
try
{ String path;/*Variable para la ruta de la BD*/
path = "Data Source=" + System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
+ "\\inventario.sdf";
SqlCeCon = new SqlCeConnection(path); /*asignar a la conexión la ruta*/
SqlCeCon.Open();}/*abrir conexión para verificar */
catch
(SqlCeException e)
{ MessageBox.Show("Error de conexión , error:"+
e.Message);}/*Mensaje en caso de falla de conexión */
finally
{SqlCeCon.Close();}}/*Cerrar la conexión*/
Esta función devuelve un dataset y tiene como parámetros de entrada el comando SQL y el nombre de la tabla.
public DataSet ExecuteDataset(string
SQL, string table)
{
try
{
// Abrimos la conexión
if (SqlCeCon.State==ConnectionState.Closed){
SqlCeCon.Open();
}
// Abrimos la conexión
DataSet ds = new DataSet(table);
SqlCeDataAdapter Sqldapter = new SqlCeDataAdapter(SQL,SqlCeCon);
// asigna un adaptador con el comando SQL y la
conexión
Sqldapter.FillSchema(ds, SchemaType.Source,
table);
Sqldapter.Fill(ds, table); // load data
return ds; //return dataset
with data
}
catch (SqlCeException
e)
{
MessageBox.Show(e.Message);
return null;
}
finally
{
SqlCeCon.Close();
}
}
y listo esa es la clase...Sencilla...
- Paso 7. Agregar código en el formulario, específicamente en el evento Load
private void Form1_Load(object
sender, EventArgs e)
{
try
{
//se instancia la clase
InventoryMov.ConnectClass
objRegisters = new InventoryMov.ConnectClass();
DataSet ds = new DataSet(); // dataset para cargar los datos
ds =
objRegisters.ExecuteDataset("SELECT * from
articulos", "articulos");
dataGrid1.DataSource = null;
dataGrid1.DataSource = ds.Tables[0]; //asignamos el dataset al datagrid
}
catch (Exception
A)
{
MessageBox.Show(A.Message);
dataGrid1.DataSource
= null;
}
}
- Paso 8. Correr la aplicación, pero antes debemos hacer algo importante, conectar un dispositivo, en este caso usaremos un emulador para ello vamos a "tools" y seleccionamos "Connect to device", seleccionamos el emulador y dar click a "conectar"
Damos click en "close" , ejecutamos nuestra aplicación y esperamos....
- Paso 9. Listo.
Espero que les sea de mucha utilidad!!!
El proyecto se encuentra disponible en http://sdrv.ms/W5PDdI
Muchisimas Gracias!
ResponderEliminarmuchas gracias los métodos de insert, delete y update se hacen en el form es correcto?
ResponderEliminarHola muy buen aporte, me gustaría saber como puedo exportar los datos del datagrid a un archivo txt, ya puedo generar el nuevo New StreamWriter pero no puedo determinar las rows para exportarlas correctamente este es el código que tengo:
ResponderEliminarDim archivo As StreamWriter
Dim Linea As String = Nothing
Dim i As Integer = 0
Dim obj As Object
Dim Datos As Object
Dim ds As New DataSet()
obj = ScriptEngine
'Datos = AddingNewEventArgs
archivo = New StreamWriter("Lectura por zonas.txt")
'archivo.WriteLine = "HOLA"
With DataGrid1
Datos = "hola Juan"
For i = 0 To ARTICULOSBindingSource.Count - 1
'Linea = DateValue("ZONAS")
DataGrid1.Text = "DataGrid1"
Linea = DataGrid1.Item(0).Cells(4).text
Next
archivo.WriteLine(Linea)
End With
archivo.Close()
End Sub
End Class
sera que me lo podrias pasar porfa soy nuevo y lo necesito
Eliminar