You are on page 1of 18

Instituto Tecnolgico Superior de la Montaa Licenciatura En Informtica Docente: ING.

NOEL DOMINGUEZ CARDONA PROYECTO

PROGRAMACIN SMARTPHONE CON VISUAL STUDIO 2008


Alumnos: REYNA VILLAR LOPEZ HERICA VICTOR DIAZ LEONARDO DE JESS CANDA Semestre: 8 SEMESTRE

T lapa de Comonfort guerrero, Junio de 2012

MANUAL DE PROGRAMACIN SMARTPHONE CON VISUAL STUDIO 2008

Paso numero uno abrimos el Visual Studio y creamos un nuevo proyecto

Seleccionamos la opcin de crear un nuevo proyecto del tipo Smart Device y lo nombramas en este caso "EjemploDataLocal"

Y de ah seleccionamos la opcin de crear un proyecto del tipo Windows Mibile 5.0 Pocket PC SDK.

Nos conectamos a una base de datos, seleccionando la opcin de herramientas, clic en Connect to Database.

Posteriormente muestra la ventana de Add Connection, en donde seleccionamos Create para crear una base de datos para nuestra aplicacin.

En la siguiente ventana especificamos el nombre del archivo de la base de datos de SQL Server Compact.en este caso la base de datos se llama BDEmpleado y esta ubicada en la direccin de C:\User\imelda\Documents\BDEmpleado.

Si no queremos proporcionar contrasea para la base de datos le decimos que si a la siguiente ventana.

Comprobamos que la conexin se hiso de manera correcta con la siguiente ventana.

Finalmente en el explorador de servidores podemos visualizar que la base de datos este conectada a la aplicacin.

Para crear la tabla ir a la parte de "Explorador de Servidores" y hacer clic derecho en la carpeta que dice "Tabla" y seleccionamos la opcin de "Crear tabla"

Las tablas que se van a crear sern dos la tabla Cargo y la tabla Empleado. La tabla Cargo tendr las siguiente columnas:

La tabla Empleado tendr las siguientes columnas:

Llenar los datos de la tabla Cargo

Para eso hacemos clic derecho en la tabla Cargo y luego seleccionamos la opcin "Mostrar Datos de Tabla".

Creando Clases Debemos crear la clase que darn soporte al formulario que vamos a crear. Se crearan las siguientes clases: Conexin Cargo Empleado

Asignar nombre a la primera clase conexin, para las otras dos es el mismo procedimiento.

Finalmente tenemos nuestras tres clases creadas.

CDIGOS PARA LAS CLASES.

Clase Conexion Public Class Conexion Public cnn As String = "Data Source =" + System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAs sembly.GetName.CodeBase) + "\BDEmpleado.sdf;" End Class

Clase Cargo Imports System.Data.SqlServerCe Imports System.Data Public Class Cargo Public Function llenarCargo() As DataTable Dim dt As New DataTable Dim sqlcon As New SqlCeConnection sqlcon.ConnectionString = New Conexion().cnn Dim sqlcmd As New SqlCeCommand sqlcmd.Connection = sqlcon sqlcmd.CommandText = "select * from cargo" Dim sqldat As New SqlCeDataAdapter(sqlcmd) sqldat.Fill(dt) Return dt End Function End Class Clase Empleado Imports System.Data.SqlServerCe Imports System.Data Public Class Empleado Private varCodigo As Integer

Private varNombre As String Private varFechaNacimiento As DateTime Private varCodigoCargo As Integer Public Function insertarEmpleado(ByVal emp As Empleado) As String Dim sqlcon As New SqlCeConnection Try sqlcon.ConnectionString = New Conexion().cnn sqlcon.Open() Dim sqlcmd As New SqlCeCommand sqlcmd.Connection = sqlcon sqlcmd.CommandText = "INSERT INTO Empleado(Empleado_Nombre,Empleado_FecNac,Cargo_Codigo) VALUES(?,?,?)" sqlcmd.Parameters.Add("@Empleado_Nombre", SqlDbType.NVarChar, 100).Value = emp.Nombre sqlcmd.Parameters.Add("@Empleado_FecNac", SqlDbType.DateTime).Value = emp.FechaNacimiento sqlcmd.Parameters.Add("@Cargo_Codigo", SqlDbType.Int).Value = emp.CodigoCargo If sqlcmd.ExecuteNonQuery = 1 Then Return "OK" Else Return "No se pudo insertar al Empleado" End If Catch ex As Exception Return ex.Message Finally If sqlcon.State = ConnectionState.Open Then sqlcon.Close() End If End Try End Function

Public Function actualizarEmpleado(ByVal emp As Empleado) As String Dim sqlcon As New SqlCeConnection Try sqlcon.ConnectionString = New Conexion().cnn sqlcon.Open() Dim sqlcmd As New SqlCeCommand sqlcmd.Connection = sqlcon sqlcmd.CommandText = "UPDATE Empleado SET Empleado_Nombre=? ,Empleado_FecNac=?, Cargo_Codigo=? WHERE Empleado_Codigo=?"

sqlcmd.Parameters.Add("@Empleado_Nombre", SqlDbType.NVarChar, 100).Value = emp.Nombre sqlcmd.Parameters.Add("@Empleado_FecNac", SqlDbType.DateTime).Value = emp.FechaNacimiento sqlcmd.Parameters.Add("@Cargo_Codigo", SqlDbType.Int).Value = emp.CodigoCargo sqlcmd.Parameters.Add("@Empleado_Codigo", SqlDbType.Int).Value = emp.Codigo If sqlcmd.ExecuteNonQuery = 1 Then Return "OK" Else Return "No se pudo actualizar al Empleado" End If Catch ex As Exception Return ex.Message Finally If sqlcon.State = ConnectionState.Open Then sqlcon.Close() End If End Try End Function Public Function eliminarEmpleado(ByVal codigoEmp As Integer) As String Dim sqlcon As New SqlCeConnection Try sqlcon.ConnectionString = New Conexion().cnn sqlcon.Open() Dim sqlcmd As New SqlCeCommand sqlcmd.Connection = sqlcon sqlcmd.CommandText = "DELETE FROM Empleado WHERE Empleado_Codigo=?" sqlcmd.Parameters.Add("@Empleado_Codigo", SqlDbType.Int).Value = codigoEmp If sqlcmd.ExecuteNonQuery = 1 Then Return "OK" Else Return "No se pudo eliminar al Empleado" End If Catch ex As Exception Return ex.Message Finally If sqlcon.State = ConnectionState.Open Then

sqlcon.Close() End If End Try End Function Public Function todosEmpleados() As DataTable Dim dt As New DataTable Dim sqlcon As New SqlCeConnection sqlcon.ConnectionString = New Conexion().cnn Dim sqlcmd As New SqlCeCommand sqlcmd.Connection = sqlcon Dim sql As String = "SELECT Empleado.Empleado_Codigo AS Codigo, Empleado.Empleado_Nombre AS Empleado, Empleado.Empleado_FecNac AS FecNac, " & _ "Cargo.Cargo_Nombre AS Cargo, Cargo.Cargo_Codigo as CodigoCargo " & _ "FROM Cargo INNER JOIN " & _ "Empleado ON Cargo.Cargo_Codigo = Empleado.Cargo_Codigo" sqlcmd.CommandText = sql Dim sqldat As New SqlCeDataAdapter(sqlcmd) sqldat.Fill(dt) Return dt End Function Public Property Codigo() As Integer Get Return varCodigo End Get Set(ByVal value As Integer) varCodigo = value End Set End Property Public Property Nombre() As String Get Return varNombre End Get Set(ByVal value As String) varNombre = value End Set End Property Public Property FechaNacimiento() As DateTime

Get Return varFechaNacimiento End Get Set(ByVal value As DateTime) varFechaNacimiento = value End Set End Property Public Property CodigoCargo() As Integer Get Return varCodigoCargo End Get Set(ByVal value As Integer) varCodigoCargo = value End Set End Property End Class

DISEO DEL FORMULARIO Debemos de disear el siguiente formulario

Los nombres de los componentes que se han diseado sern los siguientes:

txtCodigo --> TextBox txtNombre --> TextBox dtpFechaNacimiento --> DateTimePicker cboCargo --> ComboBox btnRegistrar --> Button brnActualizar --> Button btnEliminar --> Button btnLimpiar --> Button

Luego en la otra pestaa del TabControl

En la siguiente pestaa lo componentes que estarn recibirn los siguientes nombres:

dgEmpleado --> DataGrid

CODIGO DEL FORMULARIO El formulario debe de tener el siguiente codigo


Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim c As New Cargo Me.cboCargo.DataSource = c.llenarCargo Me.cboCargo.DisplayMember = "Cargo_Nombre" Me.cboCargo.ValueMember = "Cargo_Codigo" Me.dgEmpleado.DataSource = New Empleado().todosEmpleados End Sub Private Sub limpiar() Me.txtCodigo.Text = "" Me.txtNombre.Text = "" Me.cboCargo.SelectedIndex = 0 Me.dtpFechaNacimiento.Value = Date.Now End Sub Private Sub mOk(ByVal men As String) MessageBox.Show(men, "MENSAJE", MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1) End Sub Private Sub mError(ByVal men As String) MessageBox.Show(men, "MENSAJE", MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1) End Sub Private Sub btnRegistrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRegistrar.Click Dim emp As New Empleado emp.Nombre = Me.txtNombre.Text.ToUpper emp.FechaNacimiento = Me.dtpFechaNacimiento.Value emp.CodigoCargo = CInt(Me.cboCargo.SelectedValue) Dim mensaje As String = emp.insertarEmpleado(emp) If mensaje = "OK" Then mOk("Se registro al Empleado de forma correcta")

Me.limpiar() Me.dgEmpleado.DataSource = emp.todosEmpleados Else mError(mensaje) End If End Sub Private Sub brnActualizar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles brnActualizar.Click If Me.txtCodigo.Text <> "" Then Dim emp As New Empleado emp.Codigo = CInt(Me.txtCodigo.Text) emp.Nombre = Me.txtNombre.Text.ToUpper emp.FechaNacimiento = Me.dtpFechaNacimiento.Value emp.CodigoCargo = CInt(Me.cboCargo.SelectedValue) Dim mensaje As String = emp.actualizarEmpleado(emp) If mensaje = "OK" Then mOk("Se actualizo al Empleado de forma correcta") Me.limpiar() Me.dgEmpleado.DataSource = emp.todosEmpleados Else mError(mensaje) End If Else mError("Debe de buscar un empleado para actualizar") End If End Sub Private Sub dgEmpleado_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgEmpleado.DoubleClick Dim indice As Integer = Me.dgEmpleado.CurrentCell.RowNumber Dim dt As Data.DataTable = Me.dgEmpleado.DataSource Dim r As Data.DataRow = dt.Rows(indice) Me.txtCodigo.Text = r("Codigo") Me.txtNombre.Text = r("Empleado") Me.dtpFechaNacimiento.Value = r("FecNac") Me.cboCargo.SelectedValue = r("CodigoCargo") Me.TabControl1.SelectedIndex = 0 End Sub Private Sub btnLimpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLimpiar.Click Me.limpiar() End Sub Private Sub btnEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEliminar.Click

If Me.txtCodigo.Text <> "" Then Dim emp As New Empleado Dim mensaje As String = emp.eliminarEmpleado(CInt(Me.txtCodigo.Text)) If mensaje = "OK" Then mOk("Se elimino al Empleado de forma correcta") Me.limpiar() Me.dgEmpleado.DataSource = emp.todosEmpleados Else mError(mensaje) End If Else mError("Debe de buscar un empleado para eliminar") End If End Sub End Class

You might also like