que seran nuestas capas
Capa 1: Datos
Capa 2: Entidad
Capa 3: Logica
Capa 4: Interfaz
Contenido.
Capa1
- AccesoDatos.vb
- Conexion.vb
- Datos_Tabla.vb
- MetodosDatos.vb
Capa2
- Entidad_Tabla.vb
Capa3
- AccesoLogica.vb
Capa4
- Default.aspx
Programación
Imports Microsoft.VisualBasic
Imports Entidad
Imports System.Data
Imports System.Data.SqlClient
Public Class AccesoDatos
Public Shared Function Listar_Persona() As DataTable
Dim Query As SqlCommand = MetodosDatos.CrearComando() ' Indicamos de Clase MetodosDatos que se creara una Consulta en el Query
Query.CommandText = "select * from Persona" ' Ejecutamos la Consulta
Return MetodosDatos.EjecutarComandoQuery(Query)
End Function
Public Shared Function Mantenimiento_Persona(Entidad_Persona As Entidad_Persona) As DataTable
Return Datos_Persona.Mantenimiento_Persona(Entidad_Persona)
End Function
Public Shared Function BuscarResultados(Proceso As String) As DataTable
Dim Query As SqlCommand = MetodosDatos.CrearComando() ' Indicamos de Clase MetodosDatos que se creara una Consulta en el Query
Query.CommandText = Proceso
Return MetodosDatos.EjecutarComandoQuery(Query) ' Retornoamos le Consulta para ser usada en otro lado
End Function
End Class
Imports System.Data
Imports System.Data.SqlClient
Public Class Conexion
Shared Cnx As String = "server=PC;database=BaseDatos;User ID=sa;Password="
' Objeto de Conexion para utilizarla en todos lados
Public Shared ReadOnly Property CadenaConexion() As String
' Enviando
Get
'Devuelve la Cadena de Conexion donde se solicite
Return Cnx
' Fin Envio
End Get
End Property
End Class
Imports System.Data
Imports System.Data.SqlClient
Imports Entidad
Public Class Datos_Persona
Public Shared Function Mantenimiento_Persona(Entidad_Persona As Entidad_Persona) As DataTable
Dim CadenaCnx = Conexion.CadenaConexion ' Guardamos la Cadena de Conexion de la Capa Datos
Dim Cnx As New SqlConnection() ' Declaramos Cnx para Conexiones
Cnx.ConnectionString = CadenaCnx ' Reindicamos Conexion
Dim cmd As New SqlCommand("SP_PERSONA", Cnx)
With cmd ' enviaremos parametros
.CommandType = CommandType.StoredProcedure
.Parameters.AddWithValue("@T", Entidad_Persona.T)
'******************* Puros datos ******************************
.Parameters.AddWithValue("@codigo", Entidad_Persona.codigo)
.Parameters.AddWithValue("@nombre", Entidad_Persona.nombre)
.Parameters.AddWithValue("@estado", Entidad_Persona.estado)
.Parameters.AddWithValue("@fecha", Entidad_Persona.fecha)
End With
Try
Cnx.Open() ' abrimos conexion
cmd.ExecuteNonQuery() ' ejecutamos todo el grupo del Cmd
MsgBox("Los Datos se Guardaron Satisfactoriamente", MsgBoxStyle.Information, "Información del Sistema") ' Mensaje de Confirmacion de PRoceso de Guardado
Catch ex As Exception
MsgBox("No se Pudo Procesar la operación, Datos: " & Err.Description, MsgBoxStyle.Critical, "Información del Sistema")
' Mensaje de Error informativo del Sistema
Finally
Cnx.Close() ' Cerramos la conexion
End Try
End Function
End Class
Imports Entidad
Imports System.Data
Imports System.Data.SqlClient
Public Class MetodosDatos
'
'Funciones Generales Para Ser Ejecutadas
Public Shared Function CrearComando() As SqlCommand ' Creamos un Comendo para Ejecutar Procedimientos, Select, Vistas, Funciones , Etc
Dim CadenaCnx = Conexion.CadenaConexion ' Guardamos la Cadena de Conexion de la Capa Datos
Dim Cnx As New SqlConnection() ' Declaramos Cnx para Conexiones
Dim Cmd As New SqlCommand() ' Declaramos Cnx para Comandos
Cnx.ConnectionString = CadenaCnx ' Reindicamos Conexion
Cmd = Cnx.CreateCommand() ' Indicamos que crearemos una consulta(Select, Vistas, Procedimientos, Etc)
Cmd.CommandType = CommandType.Text ' Indicamos que guardara este tipo texto
Return Cmd ' Devuelve el Cmd para ser utilizado
End Function
Public Shared Function EjecutarComandoQuery(Comando As SqlCommand) As DataTable ' Metodo que recibe parametro "Comando"
Dim Tabla As New DataTable() ' Declaramos Variable Tipo DataTable donde se guardara el resultado de nuestra consulta
Try ' Try para obtener en caso de error o fuera de intervalos de ingresos
Comando.Connection.Open() 'Ejecutamos y abrimos conexion
Dim Dap As New SqlDataAdapter() ' Creamos DataAdapter
Dap.SelectCommand = Comando 'Obtenemos el resultado del Comando en el Dap
Dap.Fill(Tabla) ' Guardamos en Tabla el resultado
Catch ex As Exception
Finally
Comando.Connection.Close()
End Try
Return Tabla ' Retornamos Tabla listo con la consulta realizada
End Function
End Class
CAPA ENTIDAD
Imports Microsoft.VisualBasic
Public Class Entidad_Persona
Public T As String
Public codigo As String
Public nombre As String
Public estado As String
Public fecha As String
End Class
CAPA LÓGICA
Imports Microsoft.VisualBasic
Imports Datos
Imports Entidad
Public Class AccesoLogica
Public Shared Function Listar_Persona() As DataTable
' Obtiene los parametros y los reenvia a Capa Datos
Return AccesoDatos.Listar_Persona()
End Function
Public Shared Function Mantenimiento_Persona(Entidad_Persona As Entidad_Persona) As DataTable
Return AccesoDatos.Mantenimiento_Persona(Entidad_Persona)
End Function
Public Shared Function BuscarResultados(Proceso As String) As DataTable
' Obtiene los parametros y los reenvia a Capa Datos
Return AccesoDatos.BuscarResultados(Proceso)
End Function
End Class
CAPA INTERFAZ
Default
Imports Logica
Imports Entidad
Imports Datos
Imports System.Data
Imports System.Data.SqlClient
Partial Class Page1_M
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
TextBox3.Text = Date.Today
GridView1.DataSource = AccesoLogica.Listar_Persona()
GridView1.DataBind()
End Sub
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
limpiar()
End Sub
Sub limpiar()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = Date.Today
DropDownList1.SelectedIndex = 0
lblestado.Text = "NUEVO"
GridView1.DataSource = AccesoLogica.Listar_Persona()
GridView1.DataBind()
End Sub
Protected Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
grabar()
End Sub
Sub grabar()
Dim Entidad_Persona = New Entidad_Persona()
Entidad_Persona.codigo = TextBox1.Text
Entidad_Persona.nombre = TextBox2.Text
Entidad_Persona.estado = DropDownList1.Text
Entidad_Persona.fecha = TextBox3.Text
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
If lblestado.Text = "NUEVO" Then
Entidad_Persona.T = "I"
AccesoLogica.Mantenimiento_Persona(Entidad_Persona)
ElseIf lblestado.Text = "EDICION" Then
Entidad_Persona.T = "U"
AccesoLogica.Mantenimiento_Persona(Entidad_Persona)
End If
lblestado.Text = "EDICION"
GridView1.DataSource = AccesoLogica.Listar_Persona()
GridView1.DataBind()
'End 'If
End Sub
Protected Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
GridView1.DataSource = AccesoLogica.BuscarResultados("SELECT * FROM PERSONA WHERE NOMBRE LIKE '%" & TextBox2.Text & "%'")
GridView1.DataBind()
End Sub
Protected Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If lblestado.Text = "EDICION" Then
Dim Entidad_Persona = New Entidad_Persona()
Entidad_Persona.codigo = TextBox1.Text
Entidad_Persona.nombre = TextBox2.Text
Entidad_Persona.estado = DropDownList1.Text
Entidad_Persona.fecha = TextBox3.Text
Entidad_Persona.T = "D"
AccesoLogica.Mantenimiento_Persona(Entidad_Persona)
lblestado.Text = "NUEVO"
limpiar()
GridView1.DataSource = AccesoLogica.Listar_Persona()
GridView1.DataBind()
End If
End Sub
Protected Sub DropDownList1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DropDownList1.SelectedIndexChanged
End Sub
Protected Sub GridView1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles GridView1.SelectedIndexChanged
On Error GoTo Error1
TextBox1.Text = GridView1.SelectedRow().Cells(1).Text
TextBox2.Text = GridView1.SelectedRow().Cells(2).Text
DropDownList1.SelectedValue = GridView1.SelectedRow().Cells(3).Text.ToString()
TextBox3.Text = GridView1.SelectedRow().Cells(4).Text
lblestado.Text = "EDICION"
Exit Sub
Error1:
MsgBox(Err.Description)
End Sub
End Class





