Upload
reyna-villar-lopez
View
111
Download
0
Embed Size (px)
Citation preview
Instituto Tecnológico Superior de la Montaña
Licenciatura En Informática
Docente:
ING. NOEL DOMINGUEZ CARDONA
PROYECTO
PROGRAMACIÓN SMARTPHONE CON VISUAL STUDIO 2008
Alumnos:
REYNA VILLAR LOPEZ
HERICA VICTOR DIAZ
LEONARDO DE JESÚS CANDÍA
Semestre:
8 º SEMESTRE
T lapa de Comonfort guerrero, Junio de 2012
MANUAL DE PROGRAMACIÓN SMARTPHONE CON VISUAL STUDIO 2008
Paso numero uno abrimos el Visual Studio y creamos un nuevo proyecto
Seleccionamos la opción de crear un nuevo proyecto del tipo Smart Device y lo nombramas en este caso "EjemploDataLocal"
Y de ahí seleccionamos la opción de crear un proyecto del tipo Windows Mibile 5.0 Pocket PC SDK.
Nos conectamos a una base de datos, seleccionando la opción 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 aplicación.
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 dirección de “C:\User\imelda\Documents\BDEmpleado”.
Si no queremos proporcionar contraseña para la base de datos le decimos que si a la siguiente ventana.
Comprobamos que la conexión 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 aplicación.
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 opción de "Crear tabla"
Las tablas que se van a crear serán 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 opción "Mostrar Datos de Tabla".
Creando Clases
Debemos crear la clase que darán soporte al formulario que vamos a crear.
Se crearan las siguientes clases:
Conexión Cargo Empleado
Asignar nombre a la primera clase “conexión”, para las otras dos es el mismo procedimiento.
Finalmente tenemos nuestras tres clases creadas.
CÓDIGOS PARA LAS CLASES.
Clase Conexion
Public Class Conexion
Public cnn As String = "Data Source =" +
System.IO.Path.GetDirectoryName(System.Reflection
.Assembly.GetExecutingAssembly.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
DISEÑO DEL FORMULARIO
Debemos de diseñar el siguiente formulario
Los nombres de los componentes que se han diseñado serán los siguientes:
txtCodigo --> TextBox txtNombre --> TextBox dtpFechaNacimiento --> DateTimePicker cboCargo --> ComboBox btnRegistrar --> Button brnActualizar --> Button btnEliminar --> Button btnLimpiar --> Button
Luego en la otra pestaña del TabControl
En la siguiente pestaña lo componentes que estarán recibirán 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