domingo, 23 de marzo de 2014

Programacion Basica n Capas Asp.net

crear 4 proyectos
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 Microsoft.VisualBasic
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


sábado, 22 de marzo de 2014

programación simple en vb6 para uso multiples

lo que se desea con este mantenimiento es mostrar los procesos de grabar, eliminar y buscar en datagrid, ademas utilizando modulo para conexion con dns

Codigo BD Procedimiento SP_nombre

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE Procedure [dbo].[SPMAN_EMPRESA]

@TIPOPE char (1),

@EMPRCOD CHAR(7),
@EMPRDES VARCHAR(100),
@EMPRRUC CHAR(11),
@EMPRCONT VARCHAR(50),
@EMPRTLF VARCHAR(50),
@EMPRDEPA VARCHAR(50),
@EMPRPRO VARCHAR(50),
@EMPRDIS VARCHAR(50),
@EMPRDIR VARCHAR(100),
@EMPREMA VARCHAR(50),
@USUACOD VARCHAR(50),
@EMPRPASS VARCHAR(50)
--@USUAFECACT DATETIME


As Begin
Declare

@VLMenErr varchar (150)
SET DATEFORMAT dmy

Begin Tran Tran_ManTituSer

/************************************ Insertar ****************************************/
If @TipOpe = 'I'
Begin

SELECT @EMPRCOD = ISNULL(MAX(EMPRCOD), 0) FROM EMPRESA
SELECT @EMPRCOD = CONVERT(NUMERIC(7),SUBSTRING (@EMPRCOD,2,7)+1000001)
SELECT @EMPRCOD='E'+SUBSTRING (@EMPRCOD,2,7)


Insert EMPRESA
(EMPRCOD ,EMPRDES ,EMPRRUC ,EMPRCONT,EMPRTLF,
EMPRDEPA ,EMPRPRO ,EMPRDIS ,EMPREMA,
EMPRDIR  , USUACOD, USUAFECACT,EMPRPASS)
Values
(@EMPRCOD ,@EMPRDES ,@EMPRRUC ,@EMPRCONT,@EMPRTLF,
@EMPRDEPA,@EMPRPRO ,@EMPRDIS
,@EMPRDIR ,@EMPREMA , @USUACOD, GETDATE(),@EMPRPASS)
If @@Error<>0
Begin
Select @VLMenErr = 'Error al Insertar Registro de TARIFARIO...!!!'
Goto EtqError
End

End

/********************************** Modifica ***************************************/
If @TipOpe = 'U'
Begin
Update EMPRESA Set

EMPRCOD =@EMPRCOD,
EMPRDES=@EMPRDES,
EMPRRUC =@EMPRRUC,
EMPRCONT=@EMPRCONT,
EMPRTLF=@EMPRTLF,
EMPRDEPA=@EMPRDEPA,
EMPRPRO=@EMPRPRO,
EMPRDIS=@EMPRDIS,
EMPRDIR =@EMPRDIR,
EMPREMA=@EMPREMA,
USUACOD = @USUACOD,
USUAFECACT = GETDATE(),
EMPRPASS=@EMPRPASS
WHERE @EMPRCOD = EMPRCOD

If @@Error<>0
Begin
            Select @VLMenErr = 'Error al actualizar registro de TARIFARIO...!!!'
   Goto EtqError
End
End

/**************************** Elimina ********************************/
If @TipOpe='D'
Begin
Delete EMPRESA
WHERE @EMPRCOD   =EMPRCOD

If @@Error<>0
Begin
Select @VLMenErr = 'Error al eliminar Registro de TARIFARIO..!!!'
Goto EtqError
End

End

/*********************************************************************************/
Commit Tran Tran_ManTituSer
Goto EtqSalir

EtqError:
RollBack Tran Tran_ManTituSer
RAISERROR (@VLMenErr,16,1)
Goto EtqSalir

EtqSalir:
End

'=========================================



Vb6


1. conexion DNS
2. diseño de formulario
3. cargar referencias




codigo de modulo
'======================================================
Public Cnx As New ADODB.Connection

Sub Main()
Cnx.ConnectionString = "Dsn=nombre;user id=sa; password;"
Cnx.Open
   Form1.Show
End Sub

Public Sub EJECUTAR(ByVal SQL As String)
Cnx.Execute SQL
End Sub
'======================================================





Contenido de formulario
matriz de text1(0) al 2,
combo1,Fecha (DtPicker)
Command1(0) al 3
Command2 para reporte

Codigo Formulario

'======================================================
Private Sub Combo1_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub

Private Sub Command1_Click(Index As Integer)
On Error GoTo x
Dim R As String

Select Case Index


Case 0
    Call limpiar
   
   
Case 1

    If lblestado.Caption = "NUEVO" Then
        R = MsgBox("SEGURO DE INGRESAR", vbYesNo)
            If R = vbYes Then Call MANTENIMIENTO("I")
       
    ElseIf lblestado.Caption = "EDICION" Then
        R = MsgBox("SEGURO DE MODIFICAR", vbYesNo)
            If R = vbYes Then Call MANTENIMIENTO("U")
         
    End If
   
   
Case 2
        If lblestado.Caption = "EDICION" Then
        R = MsgBox("SEGURO DE ELIMINAR", vbYesNo)
            If R = vbYes Then Call MANTENIMIENTO("D")
 
        End If
Case 3
    Call RellenarLista
   
End Select


Exit Sub
x:
MsgBox Err.Description
End Sub

Sub limpiar()
For i = 0 To 1
Text1(i).Text = ""
Next i
Combo1.Text = "ACTIVADO"
lblestado.Caption = "NUEVO"
Fecha.Value = Date
Text1(0).Enabled = False
Text1(0).BackColor = RGB(0, 0, 0)
End Sub

Function RellenarLista()
On Error GoTo LineaError


    Dim RS As New ADODB.Recordset
    RS.CursorLocation = adUseClient
   
       If Text1(1).Text = "" Then
        RS.Open "select * from Persona", Cnx, adOpenStatic, adLockReadOnly
        ElseIf Text1(1).Text <> "" Then
        RS.Open "select * from Persona where nombre like '%" & Trim$(Text1(1).Text) & "%'", Cnx, adOpenStatic, adLockReadOnly
        End If
       
        Set DataGrid1.DataSource = RS
        DataGrid1.Columns(0).Width = 1000
        DataGrid1.Columns(1).Width = 2500
        DataGrid1.Columns(2).Width = 2000
        DataGrid1.Columns(3).Width = 2000
        Set RS = Nothing
        Exit Function
   
    If DataGrid1.ApproxCount <> 0 Then
        DataGrid1.SetFocus
    End If

   
    Exit Function
LineaError:
    MsgBox Err.Description, vbCritical
End Function

Sub MANTENIMIENTO(tipo As String)
On Error GoTo ErrorSQL
Dim xCadena As String ''

If tipo = "I" Then
    xCadena = "EXEC SP_PERSONA 'I','" & Text1(0).Text & "','" & Text1(1).Text & "','" & Combo1.Text & "','" & Fecha.Value & "'"
ElseIf tipo = "U" Then
    xCadena = "EXEC SP_PERSONA 'U','" & Text1(0).Text & "','" & Text1(1).Text & "','" & Combo1.Text & "','" & Fecha.Value & "'"
ElseIf tipo = "D" Then
    xCadena = "EXEC SP_PERSONA 'D','" & Text1(0).Text & "','" & Text1(1).Text & "','" & Combo1.Text & "','" & Fecha.Value & "'"
End If

Cnx.Execute xCadena
Text1(1).Text = ""
Call RellenarLista
Exit Sub
ErrorSQL:
MsgBox Err.Description

End Sub

Private Sub Command2_Click()

On Error GoTo NOVA:

    CrtRpt.Reset
    CrtRpt.ReportFileName = "C:\Persona.rpt"
    CrtRpt.StoredProcParam(0) = Text1(0).Text
    CrtRpt.Destination = crptToWindow
    CrtRpt.WindowState = crptMaximized
           
    CrtRpt.Action = 0
  Exit Sub
NOVA:
    MsgBox Err.Description, vbExclamation
EtiqErrorSQL:
    Screen.MousePointer = vbDefault
End Sub

Private Sub DataGrid1_Click()
lblestado.Caption = "EDICION"
Call enviar
End Sub


Function enviar()
    If DataGrid1.ApproxCount = 0 Then Exit Function
            Text1(0).Text = DataGrid1.Columns(0).Text: Text1(0).BackColor = RGB(250, 250, 250)
            Text1(1).Text = DataGrid1.Columns(1).Text
            Combo1.Text = DataGrid1.Columns(2).Text
            Fecha.Value = DataGrid1.Columns(3).Text
    Exit Function
 
End Function
   
   
Private Sub Form_Load()
Call limpiar
End Sub






domingo, 8 de julio de 2012

SERVICIO WEB MANTENIMIENTO

Aplicación que cuenta Con Tabla:_
* Alumnos
* Asignatura
* Cursos
* Notas


relacionadas entre si, y funcionando a través de un Servicio Web
Trabajado en
Visual Studio.net 2008 y SQL 2008
Web Service


Enlace de Descarga:
APLICACION COLEGIO WEB SERVICE
* Dentro del .rar stan los Consultas(Query) que se tienen que correr para obtener la base de datos
* y también se tendra que actualizar la referencia Web..
Video de la Aplicación

jueves, 14 de junio de 2012

SERVICIO WEB. ASP

2 aplicaciones que se comunican por medio de un servicio web. Una aplicación envía los datos y otra aplicación los decepciona





Ejemplo

lunes, 4 de junio de 2012

Crear Base de Datos y Tablas en SQL Query


use master
create database cine on
(name=cine_data,  filename="c:\bdcine\cine_dat.mdf", size=1)
log on
(name=cine_log, filename="c:\bdcine\cine_log.ldf",  size=1)


use cine

create table peliculas
(idpeli char(6)primary key,
nompeli varchar(35)null,
idgen char(3)not null,
idpais char (3)not null,
año int null)

create table genero
(idgen char(3)primary key,
nomgen varchar(20)null)
create table actores
(idact char(6)primary key,
nomact varchar(35)null,
idpais char(3)not null)

create table pais
(idpais char(3)primary key,
nompais varchar(20)null)
create table det_peli_act
(idpeli char(6) not null,
idact char(6)not null)

alter table peliculas add
constraint [fk_peliculas_genero]foreign key
(idgen)
references genero(idgen)

alter table det_peli_act add
constraint [fk_det_peli_act_peliculas]foreign key
(idpeli)
references peliculas(idpeli)

alter table det_peli_act add
constraint [fk_det_peli_act_actores]foreign key
(idact)
references actores(idact)

alter table actores add
constraint [fk_actores_pais]foreign key
(idpais)
references pais(idpais)

viernes, 1 de junio de 2012

APLICACIÓN 1 (Autos)

Esta aplicación contiene 3 tablas (Auto, Marca y Modelo)

* Realiza el mantenimiento de las tablas  a través de procedimientos almacenados,
* Filtra un Dropdownlist con otro...
* Login de usuario
- MaterPage
- Plantilla html adaptada a asp.net




Video