asp.net sistema de gestión de login y usuarios en asp

Upload: damian-salazar

Post on 14-Apr-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    1/46

    Sistema de gestin de login y usuarios en ASP.NET 2.0 y VB.netPor Alvaro04/03/2009

    Enviar esta pagina a un amigo.Vamos a crear un sistema con ASP.NET y VB.NET 2.0 en el que gestionaremos losusuarios de nuestra web, la seguridad, y el permiso de acceso a la web mediante unsistema de login. Este caso vamos a crear la estructura de ficheros y de base de datos.Usaremos Visual Studio 2005 y SQL Server Express.

    En la estructura de nuestro proyecto web, crearemos las carpetas de sistema ASP.NET,que serian App_Code, y App_Data, y adems crearemos una carpeta ordinaria llamadaUsers.

    Dentro de la carpeta Users, aadiremos las pginas web, delete.aspx, login.aspx,

    modify.aspx, newuser.aspx y profile.aspx.

    Luego en cuando a ficheros, crearemos los archivos, MasterPage.master (Pagina maestra,Page Master), Web.sitemap (Site map, Mapa del sitio). Estos archivos al hacer clic con el

    botn derecho, podremos aadirlos en el men aadir nuevo elemento.

    Y para finalizar vamos a crear la base de datos y la tabla que usaremos para almacenar toda la informacin de los usuarios. Pulsamos con el botn derecho en la carpeta yacreada App_Data, y pinchamos en crear un nuevo elemento, que en este caso, solo nosmostrara una base de datos. Le dejamos su nombre Database.mdf, y salvamos.

    Vamos al Explorador de Servidores, y all veremos Conexiones de datos y Servidores.Dentro de Conexiones de datos, podremos ver nuestra base de datos sobre la que vamos a pulsar para abrirla. En la carpeta Tablas vamos a clicar con el botn derecho y vamos acrear una nueva con estos campos o columnas y que tengan estos tipos de datos:

    Nombre del campo Tipo de dato Acepta NulosID bigint NoUserName nvarchar(50) NoPassword nvarchar(50) NoActive bit NoComments varchar(MAX) SiDate_In datetime NoDate_Out datetime NoAdmin bit SiSobre el campo ID dentro de sus propiedades lo haremos lo que en Access se llamabacampo autonumerico, es decir, en la jerga del nuevo SQL Server, se llama que esidentidad, y lo cambiaremos de no, a SI.

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    2/46

    Si no usis el SQL Express, y usis el SQL Management Studio, o el SQL Server 2005,tambin podris crear la tabla con este cdigo ejecutndolo como un procedimientoalmacenado.

    CREATE TABLE [dbo].[tblUsers](

    [ID] [bigint] IDENTITY(1,1) NOT NULL,[UserName] [nvarchar](50) NULL,[Password] [nvarchar](50) NULL,[Active] [bit] NULL,[Comments] [varchar](max) NOT NULL,[Date_In] [datetime] NULL,[Date_Out] [datetime] NULL,[Admin] [bit] NOT NULL,CONSTRAINT [PK_Table_1] PRIMARY KEY CLUSTERED([ID] ASC

    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS= ON) ON [PRIMARY]) ON [PRIMARY] GOSET ANSI_PADDING OFF

    Sistema de gestin de login y usuarios en ASP.NET 2.0 y VB.net (2)Por Alvaro05/03/2009

    Enviar esta pagina a un amigo. Nos centraremos ahora en el cdigo de los procedimientos almacenados.Vamos a crearlos dentro de nuestra base de datos, bien mediante el explorador deservidores en nuestro visual studio o bien desde sql management studio, perorecomendamos el visual studio por su simplicidad.Entramos en la base de datos y dentro de la carpeta de los procedimientos almacenados,hacemos clic con el botn derecho y damos a crear procedimiento almacenado nuevo. Enla ventana que nos sale pegamos el cdigo que se encuentra a continuacin, y le damos agrabar o salvar, tan simple como eso.

    Aqu tenis.

    ALTER PROCEDURE dbo.UserRead(@ID bigint

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    3/46

    ) AS SELECT ID, UserName, Password, Active, Comments, Date_In, Date_Out

    FROM tblUsersWHERE Admin = 0 and ID = @ID RETURN

    ALTER PROCEDURE dbo.UserModify(@ID bigint,@UserName nvarchar(50),@Password nvarchar(50),@Comments varchar(MAX),

    @Active bit,@Date_Out datetime)AS UPDATE tblUsers SETUserName = @UserName ,Password = @Password ,Active = @Active,Comments = @Comments,Date_Out = @Date_OutWHERE ID = @IDRETURN 0

    ALTER PROCEDURE dbo.UserLogin(@UserName nvarchar(50),@Password nvarchar(50))AS if (Select admin From tblUsers Where UserName = @UserName and Password =@Password) = 1BEGINSelect * From tblUsers Where UserName = @UserName and Password = @PasswordENDELSEBEGIN

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    4/46

    Select * From tblUsers Where UserName = @UserName and Password = @Passwordand Active = 1 and Date_out > GETDATE()END RETURN

    ALTER PROCEDURE dbo.UserDelete(@ID bigint)AS DECLARE @userexists nvarchar(50) SET @userexists = (SELECT COUNT(*) FROM tblUsers Where ID = @ID)

    IF @userexists = 0BEGINRETURN 0END ELSE BEGIN DELETE FROM tblUsers WHERE ID = @IDSET @userexists = (SELECT COUNT(*) FROM tblUsers Where ID = @ID) IF @userexists = 0BEGINRETURN 0ENDELSEBEGINRETURN -1ENDEND

    ALTER PROCEDURE dbo.UserAdd(@UserName nvarchar(50),@Password nvarchar(50),@Active bit,@Comments varchar(MAX)

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    5/46

    )AS DECLARE @userexists nvarchar(50)

    SET @userexists = (SELECT COUNT(*) FROM tblUsers Where UserName =@UserName) IF @userexists > 0BEGINRETURN -1--User ExistsEND ELSE BEGIN

    INSERT INTO tblUsers(UserName,Password,Active,Comments,Date_In,Date_Out,admin) Values(@UserName,@Password,@Active,@Comments,GETDATE(),GETDATE() + 365,0)RETURN 0END

    ALTER PROCEDURE dbo.GetUsers AS

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    6/46

    SELECT tblUsers.ID, tblUsers.UserName, Password, Active, Comments, Date_In,Date_OutFROM tblUsersWHERE tblUsers.Admin= 0

    RETURN

    Sistema de gestin de login y usuarios en ASP.NET 2.0 y VB.net (3)Por Alvaro06/03/2009

    Enviar esta pagina a un amigo.Vamos con la tercera parte.Los archivos, delete.aspx, login.aspx, modify.aspx, newuser.aspx y profile.aspx, llevaranel cdigo html que vera el usuario. Y Los archivos, delete.vb, login.vb, modify.vb,

    newuser.vb y profile.vb, llevarn el cdigo fuente que se ejecutara en el servidor.Luego, MasterPage.master (Pagina maestra, Page Master), Web.config, Web.sitemap(Site map, Mapa del sitio), son los algunos de archivos que se han aadido en el nuevo.NET 2.0 que nos hacen la vida mas fcil a los programadores.

    web.config:

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    7/46

    MasterPage.master:

    Untitled Page

    No estas conectado.|Web.sitemap:

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    8/46

    Default.aspx:

    Hola a todos!

    Y dentro de la carpeta users tenemos:users/newuser.aspx:

    **

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    9/46


    users/modify.aspx:

    *

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    10/46

    *


    **

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    11/46


    users/login.aspx:

    users/profile.aspx:


  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    12/46


    users/delete.aspx:


    Sistema de gestin de login y usuarios en ASP.NET 2.0 y VB.net (4)Por Alvaro09/03/2009

    Enviar esta pagina a un amigo.Y terminamos la coleccion de documentos sobre el registro en la web con estedocumento.Y terminamos con el codigo de las paginas correspondientes. Recordaros que todasnuestras clases usan nuestra propia libreria de acceso a datos.

    profile.vb:

    Partial Class profileInherits System.Web.UI.Page

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    13/46

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)Handles Me.LoadIf Not Page.IsPostBack ThenDim User As New dllUser Try

    gvUsers.DataSource = User.GetUsersgvUsers.DataBind() Catch ex As ExceptionlblMessages.Text = User.ErrorsEnd TryUser = NothingEnd If End Sub Protected Sub btnAddUser_Click(ByVal sender As Object, ByVal e As

    System.EventArgs) Handles btnAddUser.Click Response.Redirect("newuser.aspx")End Sub End Classnewuser.vb:

    Partial Class newuser Inherits System.Web.UI.Page Protected Sub btnAdd_Click(ByVal sender As Object, ByVal e As System.EventArgs)Handles btnAdd.Click Dim User As New dllUser() User.UserName = txtUserName.TextUser.Password = txtPassword.TextUser.Comments = txtComments.TextUser.Active = chkActive.Checked If User.UserAdd Then lblTextReturn.Text = "Hecho" txtUserName.Text = ""txtPassword.Text = ""txtComments.Text = ""chkActive.Checked = False Else

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    14/46

    lblTextReturn.Text = User.ErrorsUser End If User = Nothing End Sub

    End Classmodify.vb:

    Partial Class users_modifyInherits System.Web.UI.Page Sub ServerValidation(ByVal source As Object, ByVal arguments AsServerValidateEventArgs)

    'Dim num As Integer = Integer.Parse(arguments.Value)'arguments.IsValid = ((num Mod 2) = 0)arguments.IsValid = IsDate(arguments.Value) AndAlso arguments.Value > NowEnd Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)Handles Me.LoadIf Not Page.IsPostBack ThenIf Request("ID").Trim.Length > 0 ThenDim User As New dllUser If User.UserRead(Request("ID")) ThentxtPassword.Text = User.PasswordtxtUserName.Text = User.UserNamechkActive.Checked = User.ActiveIf User.Date_Out #1/1/1900# ThentxtFechaBaja.Text = User.Date_OutElsetxtFechaBaja.Text = ""End If txtComments.Text = User.CommentsElselblMessages.Text = User.ErrorsUser End If User = NothingElselblMessages.Text = "Debe especificar un usuario."End If End If End Sub

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    15/46

    Protected Sub btnModify_Click(ByVal sender As Object, ByVal e AsSystem.EventArgs) Handles btnModify.Click If Request("ID").Trim.Length > 0 ThenIf Page.IsValid ThenTry

    Dim User As New dllUser User.UserName = txtUserName.TextUser.Password = txtPassword.TextUser.Comments = txtComments.TextIf txtFechaBaja.Text.Trim.Length > 0 ThenUser.Date_Out = txtFechaBaja.TextEnd If User.Active = chkActive.Checked If User.UserModify(Request("ID")) ThenlblMessages.Text = "Usuario modificado correctamente."

    ElselblMessages.Text = User.ErrorsUser End If User = NothingCatch ex As ExceptionlblMessages.Text = ex.MessageEnd TryElselblMessages.Text = "Hay elementos no validos en la pagina."End If ElselblMessages.Text = "Debe especificar un usuario."End If End Sub Protected Sub btnCal_Click(ByVal sender As Object, ByVal e As System.EventArgs)Handles btnCal.Click clDateOut.Visible = TrueEnd Sub Protected Sub clDateOut_SelectionChanged(ByVal sender As Object, ByVal e AsSystem.EventArgs) Handles clDateOut.SelectionChangedtxtFechaBaja.Text = clDateOut.SelectedDateIf clDateOut.SelectedDate < Now ThenchkActive.Checked = FalseEnd If End Sub End Classlogin.vb:

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    16/46

    Partial Class users_loginInherits System.Web.UI.Page Private Function ValidateUser(ByVal User As String, ByVal Pass As String) As Boolean

    Dim UserLogin As New dllUser()If UserLogin.Login(User, Pass) ThenReturn TrueEnd If UserLogin = NothingEnd Function Protected Sub lgLogin_Authenticate(ByVal sender As Object, ByVal e AsSystem.Web.UI.WebControls.AuthenticateEventArgs) Handles lgLogin.AuthenticateIf ValidateUser(lgLogin.UserName, lgLogin.Password) Thene.Authenticated = True

    End If End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)Handles Me.LoadlgLogin.Focus()End SubEnd Classdelete.vb:

    Partial Class users_deleteInherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)Handles Me.LoadIf Not Page.IsPostBack ThenlblUserNumber.Text = " Desea borrar al usuario " & Request("ID") & "?"End If End Sub Protected Sub btnDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs)Handles btnDelete.Click Dim User As New dllUser()If User.UserDelete(Request("ID")) ThenlblUserNumber.Text = "Borrado"

    btnDelete.Visible = FalseElselblUserNumber.Text = User.ErrorsUser End If User = Nothing

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    17/46

    End SubEnd Classdlluser.vb:

    Public Class dllUser

    Inherits dllBase Private _UserName As StringPrivate _Password As StringPrivate _Active As Boolean 'Desactivar momentneamente la descarga para esa tienda.Private _Date_In As DatePrivate _Date_Out As Date 'Esto permitir que el aplicativo ya no se pueda usar por unatienda.Private _Comments As String Private _Return_Value As Integer

    Private _Errors As String Public ReadOnly Property ErrorsUser() As StringGetErrorsUser = _ErrorsEnd GetEnd Property Public Sub New()MyBase.New()End SubProtected Overrides Sub Finalize()MyBase.Finalize()End Sub Public Property UserName() As StringGetUserName = _UserNameEnd GetSet(ByVal value As String)

    _UserName = valueEnd SetEnd PropertyPublic Property Password() As StringGetPassword = _PasswordEnd GetSet(ByVal value As String)

    _Password = valueEnd Set

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    18/46

    End PropertyPublic Property Active() As BooleanGetActive = _ActiveEnd Get

    Set(ByVal value As Boolean) _Active = valueEnd SetEnd PropertyPublic Property Date_New() As DateGetDate_New = _Date_InEnd GetSet(ByVal value As Date)

    _Date_In = valueEnd Set

    End PropertyPublic Property Date_Out() As DateGetDate_Out = _Date_OutEnd GetSet(ByVal value As Date)

    _Date_Out = valueEnd SetEnd PropertyPublic Property Comments() As StringGetComments = _CommentsEnd GetSet(ByVal value As String)

    _Comments = valueEnd SetEnd PropertyPublic Property Return_Value() As Integer GetReturn_Value = _Return_ValueEnd GetSet(ByVal value As Integer)

    _Return_Value = valueEnd SetEnd Property Public Function Login(ByVal UserName As String, ByVal Password As String) AsBooleanDim Parameters(1) As String, ParametersValue(1) As String

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    19/46

    Parameters(0) = "@UserName"ParametersValue(0) = UserNameParameters(1) = "@Password"ParametersValue(1) = Password

    TryIf cData.Connect() ThencData.ErrorsClear()If Not cData.ReadDataStoreProcPrepare("UserLogin", Parameters, ParametersValue)Then

    _Errors = cData.ErrorsLogin = FalseElsecData.ReadDataStoreProcPrepareExecute()If cData.ReadHaveData Then Login = TrueEnd If

    cData.ReadDataStoreProcClose()cData.Disconnect()ElseLogin = False

    _Errors = "No se pudo conectar con la base de datos."End If Catch ex As ExceptionLogin = False

    _Errors = ex.MessageEnd Try End Function Public Function GetPassword() As StringDim Parameters(0) As String, ParametersValue(0) As String Parameters(0) = "@Email"ParametersValue(0) = My.User.Name If cData.Connect() ThencData.ReadDataStoreProcPrepare("UserGetPassword", Parameters, ParametersValue)Dim a As Data.DataSet = cData.ReadDataStoreProcGetPassword = cData.ReadSP("Password")'GetPassword = a.Tables(0).Rows(0).Item("Password")cData.ReadDataStoreProcClose()cData.Disconnect()End If End Function Public Function ChangePassword(ByVal NewP As String) As Boolean

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    20/46

    Dim Parameters(1) As String, ParametersValue(1) As String Parameters(0) = "@Email"ParametersValue(0) = My.User.NameParameters(1) = "@Password"

    ParametersValue(1) = NewP If cData.Connect() ThenIf Not cData.ReadDataStoreProcExecute("UserChangePassword", Parameters,ParametersValue) ThenChangePassword = FalseElseChangePassword = TrueEnd If cData.ReadDataStoreProcClose()cData.Disconnect()

    End If End Function Public Function UserDelete(ByVal ID As Integer) As BooleanDim Parameters(0) As String, ParametersValue(0) As String Parameters(0) = "@ID"ParametersValue(0) = ID TryIf cData.Connect() ThencData.ErrorsClear()If cData.ReadDataStoreProcExecute("UserDelete", Parameters, ParametersValue) ThenIf cData.Return_Val = 0 ThenUserDelete = TrueElse

    _Errors = "Usuario no existia."End If Else

    _Errors = cData.ErrorsUserDelete = FalseEnd If cData.ReadDataStoreProcClose()cData.Disconnect()Else

    _Errors = "No se pudo conectar con la base de datos."UserDelete = FalseEnd If Catch ex As Exception

    _Errors = ex.Message

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    21/46

    End TryEnd Function Public Function UserAdd() As Boolean

    Dim Parameters(3) As String, ParametersValue(3) As String Parameters(0) = "@UserName"Parameters(1) = "@Password"Parameters(2) = "@Comments"Parameters(3) = "@Active" ParametersValue(0) = _UserNameParametersValue(1) = _PasswordParametersValue(2) = _CommentsParametersValue(3) = _Active

    If cData.Connect() ThencData.ErrorsClear()If Not cData.ReadDataStoreProcExecute("UserAdd", Parameters, ParametersValue)Then

    _Errors = cData.ErrorsElseIf cData.Return_Val = "-1" Then

    _Errors = "El nombre de usuario ya existe."ElseIf cData.Return_Val = 0 ThenUserAdd = TrueEnd If End If cData.ReadDataStoreProcClose()cData.Disconnect()Else

    _Errors = "No se pudo conectar con la base de datos."UserAdd = FalseEnd If End Function Public Function UserModify(ByVal ID As Long) As Boolean Dim Parameters(5) As String, ParametersValue(5) As String Parameters(0) = "@ID"Parameters(1) = "@UserName"Parameters(2) = "@Password"Parameters(3) = "@Comments"

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    22/46

    Parameters(4) = "@Active"Parameters(5) = "@Date_Out" ParametersValue(0) = IDParametersValue(1) = _UserName

    ParametersValue(2) = _PasswordParametersValue(3) = _CommentsParametersValue(4) = _ActiveParametersValue(5) = _Date_Out TryIf cData.Connect() ThencData.ErrorsClear()If Not cData.ReadDataStoreProcExecute("UserModify", Parameters, ParametersValue)Then

    _Errors = cData.Errors

    ElseIf cData.Return_Val = 0 ThenUserModify = TrueEnd If End If cData.ReadDataStoreProcClose()cData.Disconnect()Else

    _Errors = "No se pudo conectar con la base de datos."UserModify = FalseEnd If Catch ex As Exception

    _Errors = ex.MessageEnd Try End Function Public Function GetMessages() As Data.DataSetDim Parameters(0) As String, ParametersValue(0) As String Parameters(0) = "@Email"ParametersValue(0) = My.User.Name If cData.Connect() ThenIf cData.ReadDataStoreProcPrepare("UserGetMessages", Parameters, ParametersValue)ThenGetMessages = cData.ReadDataStoreProc()cData.ReadDataStoreProcClose()cData.Disconnect()Else

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    23/46

    _Errors = "Can't read the messages."End If Else

    _Errors = "Cant connect with the database."End If

    End Function Public Function GetMessagesByMonth(ByVal Month As Integer) As Data.DataSetDim Parameters(1) As String, ParametersValue(1) As String Parameters(0) = "@Email"ParametersValue(0) = My.User.NameParameters(1) = "@Month"ParametersValue(1) = Month If cData.Connect() Then

    If cData.ReadDataStoreProcPrepare("UserGetMessagesByMonth", Parameters,ParametersValue) ThenGetMessagesByMonth = cData.ReadDataStoreProc()cData.ReadDataStoreProcClose()cData.Disconnect()Else

    _Errors = "Can't read the messages."End If Else

    _Errors = "Cant connect with the database."End If End Function Public Function GetMessagesSearch(ByVal Str As String) As Data.DataSetDim Parameters(1) As String, ParametersValue(1) As String Parameters(0) = "@Email"ParametersValue(0) = My.User.NameParameters(1) = "@String"ParametersValue(1) = Str If cData.Connect() ThenIf cData.ReadDataStoreProcPrepare("UserGetMessagesSearch", Parameters,ParametersValue) ThenGetMessagesSearch = cData.ReadDataStoreProc()cData.ReadDataStoreProcClose()cData.Disconnect()Else

    _Errors = "Can't read the messages."End If

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    24/46

    Else _Errors = "Cant connect with the database."End If End Function

    Public Function UserRead(ByVal ID As Long) As BooleanDim Parameters(0) As String, ParametersValue(0) As StringDim DS As New Data.DataSet If ID > 0 ThenTryParameters(0) = "@ID"ParametersValue(0) = ID If cData.Connect() ThencData.ErrorsClear()

    If cData.ReadDataStoreProcPrepare("UserRead", Parameters, ParametersValue) ThenDS = cData.ReadDataStoreProc()'_Nombre_Tienda = cData.ReadSP("Nombre_Tienda")With DS.Tables(0).Rows(0)

    _Password = .Item("Password") _UserName = .Item("UserName") _Active = .Item("Active") _Date_Out = IIf(.Item("Date_Out") Is DBNull.Value, "#12:00:00 AM#",.Item("Date_Out"))

    _Date_In = .Item("Date_In") _Comments = .Item("Comments")End WithUserRead = TrueElse

    _Errors = cData.ErrorsEnd If cData.ReadDataStoreProcClose()cData.Disconnect()Else

    _Errors = "Cant connect with the database."End If Catch ex As Exception

    _Errors = ex.MessageEnd TryElse

    _Errors = "User not provided."End If End Function

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    25/46

    Public Function GetUsers() As Data.DataSetIf cData.Connect() ThencData.ErrorsClear()If cData.ReadDataStoreProcPrepare("GetUsers") ThenGetUsers = cData.ReadDataStoreProc()

    cData.ReadDataStoreProcClose()cData.Disconnect()Else

    _Errors = cData.ErrorsEnd If Else

    _Errors = "Cant connect with the database."End If End Function End Class

    dllbase.vb:Imports System.Configuration.ConfigurationManager Imports GBData Public Class dllBase Friend _ID As StringPrivate ConnectionPath As String = ConnectionStrings("DataBase").ConnectionString Friend cData As dllData Public Function Errors() As StringErrors = cData.ErrorsEnd Function Friend Sub New()cData = New dllDatacData.OriginData = 2cData.Path = ConnectionPathEnd SubProtected Overrides Sub Finalize()cData = NothingMyBase.Finalize()End Sub Public Property ID() As StringGetID = _IDEnd Get

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    26/46

    Set(ByVal value As String) _ID = valueEnd SetEnd Property

    End Class

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    27/46

    Librera de acceso a bases de datos con ADO.NET 2.0Por Alvaro02/03/2009

    Enviar esta pagina a un amigo.Con esta librera podrs acceder a Access, Sql Server, MySQL sin esfuerzo. Es sencilla eintuitiva, y te ahorrar muchas lneas de cdigo y tiempo evitando tener que tratar todo elcdigo ADO.NET. As que si no lo entiendes, no te apetece aprenderlo, o simplementequieres un atajo, esta librera puede ayudarte. Puedes mandar consultas, SQL, llamar a

    procedimientos almacenados, usar transacciones, TODO! :)

    Esta en versin BETA y, aunque yo la uso siempre, si tienes algn problema, sugerencia,la quieres mejorar, o comentario que hacer, no dudes en contactarme en mi pagina decontacto.

    Imports System.DataImports System.Data.OdbcImports System.Data.OleDbImports System.Data.SqlClient'Imports MySql.Data.MySqlClientImports System.IOImports System.Web.UI.WebControls Public Class dllData Dim cPath As StringDim cOriginData As Double = 0 Dim cSqlDataSource As String = "localhost"Dim cSqlDatabase As StringDim cSqlUserID As String = "root"Dim cSqlPassword As String Dim cDataConnectionOle As OleDbConnectionDim cDataCommandOle As OleDbCommandDim cDataConnectionODBC As OdbcConnectionDim cDataCommandODBC As OdbcCommandDim cDataConnectionSQL As SqlConnectionDim cDataCommandSQL As SqlCommand'Dim cDataConnectionMySQL As MySqlConnection'Dim cDataCommandMySQL As MySqlCommand Dim cDataOleDB As OleDbDataReader Dim cDataODBC As OdbcDataReader

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    28/46

    Dim cDataSQL As SqlDataReader 'Dim cDataMySQL As MySqlDataReader Dim cDataTransOle As OleDbTransactionDim cDataTransODBC As OdbcTransaction

    Dim cDataTransSQL As SqlTransaction'Dim cDataTransMySQL As MySqlTransaction Dim cDataDataAdapter As Object Dim cRowsAffected As LongDim _Return_Val As Object Dim cErrors As String Public ReadOnly Property Errors() As String

    GetErrors = cErrors'ClearErrors()End GetEnd Property Public Sub ErrorsClear()cErrors = ""End Sub Public Property Path() As StringGetPath = cPathEnd GetSet(ByVal Value As String)cPath = ValueEnd SetEnd Property Public Property Return_Val() As StringGetReturn_Val = _Return_ValEnd GetSet(ByVal Value As String)

    _Return_Val = ValueEnd SetEnd Property Public Property SQLDataSource() As StringGet

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    29/46

    SQLDataSource = cSqlDataSourceEnd GetSet(ByVal Value As String)cSqlDataSource = ValueEnd Set

    End Property Public Property SQLDatabase() As StringGetSQLDatabase = cSqlDatabaseEnd GetSet(ByVal Value As String)cSqlDatabase = ValueEnd SetEnd PropertyPublic Property SQLUserID() As String

    GetSQLUserID = cSqlUserIDEnd GetSet(ByVal Value As String)cSqlUserID = ValueEnd SetEnd PropertyPublic Property SQLPassword() As StringGetSQLPassword = cSqlPasswordEnd GetSet(ByVal Value As String)cSqlPassword = ValueEnd SetEnd Property Public Property OriginData() As DoubleGetOriginData = cOriginDataEnd GetSet(ByVal Value As Double)cOriginData = Value'cOriginData = 0 ' OleDb'cOriginData = 1 ' ODBC'cOriginData = 2 ' SQLServer 'cOriginData = 3 ' MySQLEnd SetEnd Property Public ReadOnly Property RowsAffected() As Long

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    30/46

    GetRowsAffected = cRowsAffectedEnd GetEnd Property

    Public Function Connect() As BooleanDim strConn As StringTrySelect Case cOriginDataCase 0, 0.1If cOriginData = 0 ThenstrConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & cPath & ";"ElseIf cOriginData = 0.1 ThenstrConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & cPath & ";"ElseThrow New Exception("Provider not accepted.")

    End If cDataConnectionOle = New OleDbConnection(strConn)cDataConnectionOle.Open()cOriginData = 0Case 1, 1.1If cOriginData = 1 ThenstrConn = "DSN=" & cPathElseIf cOriginData = 1.1 ThenstrConn = "Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" & cPath & ";"ElseThrow New Exception("Provider not accepted.")End If cDataConnectionODBC = New OdbcConnection(strConn)cDataConnectionODBC.Open()cOriginData = 1Case 2strConn = cPathcDataConnectionSQL = New SqlConnection(strConn)cDataConnectionSQL.Open()Case 3''strConn = "Persist Security Info=False;Data Source=" & cSqlDataSource''strConn += ";Database=" & cSqlDatabase''strConn += ";User ID=" & cSqlUserID & ";Password=" & cSqlPassword'strConn = cPath'cDataConnectionMySQL = New MySqlConnection(strConn)'cDataConnectionMySQL.Open()End SelectCatch e As ExceptioncErrors += " " & e.MessageExit Function

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    31/46

    End TryReturn TrueEnd Function Public Function State() As Boolean

    TrySelect Case cOriginDataCase 0If cDataConnectionOle.State = ConnectionState.Open Then Return TrueCase 1If cDataConnectionODBC.State = ConnectionState.Open Then Return TrueCase 2If cDataConnectionSQL.State = ConnectionState.Open Then Return TrueCase 3'If cDataConnectionMySQL.State = ConnectionState.Open Then Return TrueEnd Select

    Catch e As ExceptioncErrors += " " & e.MessageExit FunctionEnd TryReturn TrueEnd Function Public Function Refresh() As BooleanSelect Case cOriginDataCase 0If cDataConnectionOle.State = ConnectionState.Open ThenIf Disconnect() Then Return Connect()End If Case 1If cDataConnectionODBC.State = ConnectionState.Open ThenIf Disconnect() Then Return Connect()End If Case 2If cDataConnectionSQL.State = ConnectionState.Open ThenIf Disconnect() Then Return Connect()End If Case 3'If cDataConnectionMySQL.State = ConnectionState.Open Then' If Disconnect() Then Return Connect()'End If End SelectEnd Function Public Function Disconnect() As BooleanSelect Case cOriginData

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    32/46

    Case 0If Not cDataConnectionOle Is Nothing Then cDataConnectionOle.Close()Case 1If Not cDataConnectionODBC Is Nothing Then cDataConnectionODBC.Close()Case 2

    If Not cDataConnectionSQL Is Nothing Then cDataConnectionSQL.Close()Case 3'cDataConnectionMySQL.Close()End SelectReturn TrueEnd Function Public Function ReadReturn() As ObjectTryIf cOriginData = 0 ThenReturn cDataOleDB

    ElseIf cOriginData = 1 ThenReturn cDataODBCElseIf cOriginData = 2 ThenReturn cDataSQLElseIf cOriginData = 3 Then'Return cDataMySQLEnd If Catch ex As ExceptioncErrors += " " & ex.MessageEnd TryEnd Function Public Function ReadNext() As BooleanTryIf cOriginData = 0 ThenReturn cDataOleDB.ReadElseIf cOriginData = 1 ThenReturn cDataODBC.ReadElseIf cOriginData = 2 ThenReturn cDataSQL.ReadElseIf cOriginData = 3 Then'Return cDataMySQL.ReadEnd If Catch ex As ExceptioncErrors += " " & ex.MessageEnd TryEnd Function Public Function ReadClose() As BooleanTry

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    33/46

    If cOriginData = 0 ThencDataOleDB.Close()ElseIf cOriginData = 1 ThencDataODBC.Close()ElseIf cOriginData = 2 Then

    cDataSQL.Close()ElseIf cOriginData = 3 Then'cDataMySQL.Close()End If Return TrueCatch ex As ExceptioncErrors += " " & ex.MessageReturn FalseEnd TryEnd Function

    Public Function ReadHaveData() As BooleanTryIf cOriginData = 0 ThenReturn cDataOleDB.HasRows()ElseIf cOriginData = 1 ThenReturn cDataODBC.HasRows()ElseIf cOriginData = 2 ThenReturn cDataSQL.HasRows()ElseIf cOriginData = 3 Then'Return cDataMySQL.HasRowsEnd If Catch ex As ExceptioncErrors += " " & ex.MessageReturn FalseEnd TryEnd FunctionPublic Function Read(ByVal Value As String) As ObjectTryIf cOriginData = 0 ThenIf Not cDataOleDB(Value) Is DBNull.Value ThenReturn cDataOleDB(Value)ElseReturn ""End If ElseIf cOriginData = 1 ThenIf Not cDataODBC(Value) Is DBNull.Value ThenReturn cDataODBC(Value)ElseReturn ""End If

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    34/46

    ElseIf cOriginData = 2 ThenIf Not cDataSQL(Value) Is DBNull.Value ThenReturn cDataSQL(Value)ElseReturn ""

    End If ElseIf cOriginData = 3 Then'If Not cDataMySQL(Value) Is DBNull.Value Then' Return cDataMySQL(Value)'Else' Return ""'End If End If Catch ex As ExceptioncErrors += " " & ex.MessageEnd Try

    End FunctionPublic Function Read(ByVal Value As Integer) As ObjectTryIf cOriginData = 0 ThenIf Not cDataOleDB(Value) Is DBNull.Value ThenReturn cDataOleDB(Value).nameElseReturn ""End If ElseIf cOriginData = 1 ThenIf Not cDataODBC(Value) Is DBNull.Value ThenReturn cDataODBC(Value).nameElseReturn ""End If ElseIf cOriginData = 2 ThenIf Not cDataSQL(Value) Is DBNull.Value ThenReturn cDataSQL(Value).nameElseReturn ""End If ElseIf cOriginData = 3 Then'If Not cDataMySQL(Value) Is DBNull.Value Then' Return cDataMySQL(Value)'Else' Return ""'End If End If Catch ex As ExceptioncErrors += " " & ex.Message

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    35/46

    End TryEnd FunctionPublic Function ReadDate(ByVal Value As String) As DateTryIf cOriginData = 0 Then

    If Not cDataOleDB(Value) Is DBNull.Value ThenReturn cDataOleDB(Value)ElseReturn "1/1/1"End If ElseIf cOriginData = 1 ThenIf Not cDataODBC(Value) Is DBNull.Value ThenReturn cDataODBC(Value)ElseReturn "1/1/1"End If

    ElseIf cOriginData = 2 ThenIf Not cDataSQL(Value) Is DBNull.Value ThenReturn cDataSQL(Value)ElseReturn "1/1/1"End If ElseIf cOriginData = 3 Then'If Not cDataMySQL(Value) Is DBNull.Value Then' Return cDataMySQL(Value)'Else' Return "1/1/1"'End If End If Catch ex As ExceptioncErrors += " " & ex.MessageEnd TryEnd FunctionPublic Function ReadString(ByVal Value As String) As StringTryIf cOriginData = 0 ThenIf Not cDataOleDB(Value) Is DBNull.Value ThenReturn cDataOleDB(Value)ElseReturn 0End If ElseIf cOriginData = 1 ThenIf Not cDataODBC(Value) Is DBNull.Value ThenReturn cDataODBC(Value)ElseReturn 0

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    36/46

    End If ElseIf cOriginData = 2 ThenIf Not cDataSQL(Value) Is DBNull.Value ThenReturn cDataSQL(Value)Else

    Return 0End If ElseIf cOriginData = 3 Then'If Not cDataMySQL(Value) Is DBNull.Value Then' Return cDataMySQL(Value)'Else' Return 0'End If End If Catch ex As ExceptioncErrors += " " & ex.Message

    End TryEnd FunctionPublic Function ReadLong(ByVal Value As String) As LongTryIf cOriginData = 0 ThenIf Not cDataOleDB(Value) Is DBNull.Value ThenReturn cDataOleDB(Value)ElseReturn 0End If ElseIf cOriginData = 1 ThenIf Not cDataODBC(Value) Is DBNull.Value ThenReturn cDataODBC(Value)ElseReturn 0End If ElseIf cOriginData = 2 ThenIf Not cDataSQL(Value) Is DBNull.Value ThenReturn cDataSQL(Value)ElseReturn 0End If ElseIf cOriginData = 3 Then'If Not cDataMySQL(Value) Is DBNull.Value Then' Return cDataMySQL(Value)'Else' Return 0'End If End If Catch ex As Exception

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    37/46

    cErrors += " " & ex.MessageEnd TryEnd FunctionPublic Function ReadBoolean(ByVal Value As String) As BooleanTry

    If cOriginData = 0 ThenIf Not cDataOleDB(Value) Is DBNull.Value ThenReturn cDataOleDB(Value)ElseReturn FalseEnd If ElseIf cOriginData = 1 ThenIf Not cDataODBC(Value) Is DBNull.Value ThenReturn cDataODBC(Value)ElseReturn False

    End If ElseIf cOriginData = 2 ThenIf Not cDataSQL(Value) Is DBNull.Value ThenReturn cDataSQL(Value)ElseReturn FalseEnd If ElseIf cOriginData = 3 Then'If Not cDataMySQL(Value) Is DBNull.Value Then' Return cDataMySQL(Value)'Else' Return 0'End If End If Catch ex As ExceptioncErrors += " " & ex.MessageEnd TryEnd FunctionPublic Function ReadDouble(ByVal Value As String) As DoubleTryIf cOriginData = 0 ThenIf Not cDataOleDB(Value) Is DBNull.Value ThenReturn cDataOleDB(Value)ElseReturn 0End If ElseIf cOriginData = 1 ThenIf Not cDataODBC(Value) Is DBNull.Value ThenReturn cDataODBC(Value)Else

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    38/46

    Return 0End If ElseIf cOriginData = 2 ThenIf Not cDataSQL(Value) Is DBNull.Value ThenReturn cDataSQL(Value)

    ElseReturn 0End If ElseIf cOriginData = 3 Then'If Not cDataMySQL(Value) Is DBNull.Value Then' Return cDataMySQL(Value)'Else' Return 0'End If End If Catch ex As Exception

    cErrors += " " & ex.MessageEnd TryEnd FunctionPublic Function ReadInteger(ByVal Value As String) As Integer TryIf cOriginData = 0 ThenIf Not cDataOleDB(Value) Is DBNull.Value ThenReturn cDataOleDB(Value)ElseReturn 0End If ElseIf cOriginData = 1 ThenIf Not cDataODBC(Value) Is DBNull.Value ThenReturn cDataODBC(Value)ElseReturn 0End If ElseIf cOriginData = 2 ThenIf Not cDataSQL(Value) Is DBNull.Value ThenReturn cDataSQL(Value)ElseReturn 0End If ElseIf cOriginData = 3 Then'If Not cDataMySQL(Value) Is DBNull.Value Then' Return cDataMySQL(Value)'Else' Return 0'End If End If

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    39/46

    Catch ex As ExceptioncErrors += " " & ex.MessageEnd TryEnd FunctionPublic Function ReadSP(ByVal value As String) As Object

    TryReturn cDataSQL(value)Catch ex As ExceptioncErrors += " " & ex.MessageEnd TryEnd Function Private Sub ReadDataStoreProcPrepareAux(ByVal SP As String)cDataCommandSQL = New SqlCommand(SP, cDataConnectionSQL)cDataCommandSQL.CommandType = CommandType.StoredProcedurecDataDataAdapter = New SqlDataAdapter(cDataCommandSQL)

    End SubPublic Function ReadDataStoreProcPrepare(ByVal SP As String, ByVal Parameters() AsString, ByVal ParametersValue() As String) As BooleanTryReadDataStoreProcPrepareAux(SP)For i As Integer = 0 To Parameters.GetUpperBound(0)cDataCommandSQL.Parameters.Add(New SqlParameter(Parameters(i),SqlDbType.NVarChar))

    NextFor i As Integer = 0 To Parameters.GetUpperBound(0)cDataDataAdapter.SelectCommand.Parameters(Parameters(i)).Value =ParametersValue(i)

    Next'cDataSQL = cDataCommandSQL.ExecuteReader()ReadDataStoreProcPrepare = TrueCatch ex As ExceptioncErrors += " " & ex.MessageReadDataStoreProcPrepare = FalseEnd TryEnd FunctionPublic Function ReadDataStoreProcPrepareExecute() As BooleanTrycDataSQL = cDataCommandSQL.ExecuteReader()ReadDataStoreProcPrepareExecute = TrueCatch ex As ExceptioncErrors += " " & ex.MessageReadDataStoreProcPrepareExecute = FalseEnd TryEnd FunctionPublic Function ReadDataStoreProcPrepare(ByVal SP As String) As Boolean

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    40/46

    TryReadDataStoreProcPrepareAux(SP)ReadDataStoreProcPrepare = TrueCatch ex As ExceptioncErrors += " " & ex.Message

    ReadDataStoreProcPrepare = FalseEnd TryEnd FunctionPublic Function ReadDataStoreProcPrepare(ByVal SP As String, ByVal Read AsBoolean) As BooleanTryReadDataStoreProcPrepareAux(SP)If Read And cOriginData = 2 ThencDataSQL = cDataCommandSQL.ExecuteReader()End If ReadDataStoreProcPrepare = True

    Catch ex As ExceptioncErrors += " " & ex.MessageReadDataStoreProcPrepare = FalseEnd TryEnd FunctionPublic Function ReadDataStoreProcExecute(ByVal SP As String) As BooleanTrycDataCommandSQL = New SqlCommand(SP, cDataConnectionSQL)cDataCommandSQL.CommandType = CommandType.StoredProcedurecDataCommandSQL.ExecuteNonQuery()ReadDataStoreProcExecute = TrueCatch ex As ExceptioncErrors += " " & ex.MessageReadDataStoreProcExecute = FalseEnd TryEnd FunctionPublic Function ReadDataStoreProcExecute(ByVal SP As String, ByVal Parameters() AsObject, ByVal ParametersValue() As Object) As BooleanTrySelect Case cOriginDataCase 2cDataCommandSQL = New SqlCommand(SP, cDataConnectionSQL)cDataCommandSQL.CommandType = CommandType.StoredProcedureFor i As Integer = 0 To Parameters.GetUpperBound(0)If IsDate(ParametersValue(i)) ThenDim Aux As Date = ParametersValue(i)cDataCommandSQL.Parameters.AddWithValue(Parameters(i), Aux)ElsecDataCommandSQL.Parameters.Add(Parameters(i), ParametersValue(i))End If

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    41/46

    NextDim ReturnValueParam As SqlParameter =cDataCommandSQL.Parameters.Add("@RETURN_VALUE", SqlDbType.NVarChar,100)ReturnValueParam.Direction = ParameterDirection.ReturnValue

    cDataCommandSQL.ExecuteNonQuery() _Return_Val =cDataCommandSQL.Parameters("@RETURN_VALUE").Value.ToStringCase 3'cDataCommandMySQL = New MySqlCommand(SP, cDataConnectionMySQL)'cDataCommandMySQL.CommandType = CommandType.StoredProcedure'For i As Integer = 0 To Parameters.GetUpperBound(0)' System.Diagnostics.Debug.Print(Parameters(i))' cDataCommandMySQL.Parameters.Add(Parameters(i), ParametersValue(i))'Next'cDataCommandMySQL.ExecuteNonQuery()

    End SelectReadDataStoreProcExecute = TrueCatch ex As ExceptioncErrors += " " & ex.MessageReadDataStoreProcExecute = FalseEnd TryEnd FunctionPublic Function ReadDataStoreProcExecute(ByVal SP As String, ByVal Parameters() AsObject, ByVal ParametersValue() As Object, ByVal ParametersOUT() As Object, ByRef ParametersOUTValue() As Object) As BooleanTrySelect Case cOriginDataCase 2cDataCommandSQL = New SqlCommand(SP, cDataConnectionSQL)cDataCommandSQL.CommandType = CommandType.StoredProcedureFor i As Integer = 0 To Parameters.GetUpperBound(0)cDataCommandSQL.Parameters.Add(Parameters(i), ParametersValue(i))

    NextFor i As Integer = 0 To ParametersOUT.GetUpperBound(0)Dim ReturnValueParam As SqlParameter =cDataCommandSQL.Parameters.Add(ParametersOUT(i), SqlDbType.NVarChar, 50)ReturnValueParam.Direction = ParameterDirection.Output

    NextDim ReturnValueParamx As SqlParameter = New SqlParameter("@Return_Value",DbType.Int32)ReturnValueParamx.Direction = ParameterDirection.ReturnValuecDataCommandSQL.Parameters.Add(ReturnValueParamx)cDataCommandSQL.ExecuteNonQuery()ReDim ParametersOUTValue(ParametersOUT.GetUpperBound(0))For i As Integer = 0 To ParametersOUT.GetUpperBound(0)

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    42/46

    ParametersOUTValue(i) =cDataCommandSQL.Parameters(ParametersOUT(i)).Value.ToString

    Next _Return_Val = cDataCommandSQL.Parameters("@Return_Value").Value.ToStringCase 3

    'cDataCommandMySQL = New MySqlCommand(SP, cDataConnectionMySQL)'cDataCommandMySQL.CommandType = CommandType.StoredProcedure'For i As Integer = 0 To Parameters.GetUpperBound(0)' System.Diagnostics.Debug.Print(Parameters(i))' cDataCommandMySQL.Parameters.Add(Parameters(i), ParametersValue(i))'Next'cDataCommandMySQL.ExecuteNonQuery()End SelectReadDataStoreProcExecute = TrueCatch ex As ExceptioncErrors += " " & ex.Message

    ReadDataStoreProcExecute = FalseEnd TryEnd FunctionPublic Function ReadDataStoreProc() As DataSetDim cDataDataSet As New DataSetIf cOriginData = 2 Then cDataDataAdapter.Fill(cDataDataSet)Return cDataDataSetEnd FunctionPublic Function ReadDataStoreProcExecute() As BooleanTryIf cOriginData = 2 Then cDataCommandSQL.ExecuteNonQuery()ReadDataStoreProcExecute = TrueCatch ex As System.ExceptioncErrors += " " & ex.MessageReadDataStoreProcExecute = FalseEnd TryEnd FunctionPublic Function ReadDataStoreProcClose() As BooleanTryIf Not cDataDataAdapter.SelectCommand Is Nothing ThenIf Not cDataDataAdapter.SelectCommand.Connection Is Nothing ThencDataDataAdapter.SelectCommand.Connection.Dispose()End If cDataDataAdapter.SelectCommand.Dispose()End If cDataDataAdapter.Dispose()ReadDataStoreProcClose = TrueCatch ex As ExceptioncErrors += " " & ex.MessageReadDataStoreProcClose = False

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    43/46

    End TryEnd FunctionPublic Function ReadData(ByVal Sql As String, Optional ByVal Read As Boolean =True, Optional ByVal Trans As Boolean = False) As ObjectTry

    If cOriginData = 0 ThencDataCommandOle = New OleDbCommand(Sql, cDataConnectionOle)If Trans Then cDataCommandOle.Transaction = cDataTransOleIf Read ThencDataOleDB = cDataCommandOle.ExecuteReader()Return TrueElseReturn cDataCommandOle.ExecuteReader()End If ElseIf cOriginData = 1 ThencDataCommandODBC = New OdbcCommand(Sql, cDataConnectionODBC)

    If Trans Then cDataCommandODBC.Transaction = cDataTransODBCIf Read ThencDataODBC = cDataCommandODBC.ExecuteReader()Return TrueElseReturn cDataCommandODBC.ExecuteReader()End If ElseIf cOriginData = 2 ThencDataCommandSQL = New SqlCommand(Sql, cDataConnectionSQL)If Trans Then cDataCommandSQL.Transaction = cDataTransSQLIf Read ThencDataSQL = cDataCommandSQL.ExecuteReader()Return TrueElseReturn cDataCommandSQL.ExecuteReader()End If ElseIf cOriginData = 3 Then'cDataCommandMySQL = New MySqlCommand(Sql, cDataConnectionMySQL)'If Trans Then cDataCommandMySQL.Transaction = cDataTransMySQL'If Read Then' cDataMySQL = cDataCommandMySQL.ExecuteReader()' Return True'Else' Return cDataCommandMySQL.ExecuteReader()'End If End If Catch ex As ExceptioncErrors += " " & ex.MessageEnd TryEnd Function

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    44/46

    Public Function ReadData(ByVal Sql As String, ByVal NombreConsulta As String) AsDataSetDim cDataDataAdapter As ObjectDim cDataDataSet As New DataSetTry

    If cOriginData = 0 ThencDataCommandOle = New OleDbCommand(Sql, cDataConnectionOle)cDataDataAdapter = New OleDbDataAdapter(cDataCommandOle)ElseIf cOriginData = 1 ThencDataCommandODBC = New OdbcCommand(Sql, cDataConnectionODBC)cDataDataAdapter = New OdbcDataAdapter(cDataCommandODBC)ElseIf cOriginData = 2 ThencDataCommandSQL = New SqlCommand(Sql, cDataConnectionSQL)cDataDataAdapter = New SqlDataAdapter(cDataCommandSQL)ElseIf cOriginData = 3 Then'cDataCommandMySQL = New MySqlCommand(Sql, cDataConnectionMySQL)

    'cDataDataAdapter = New MySqlDataAdapter(cDataCommandMySQL)End If cDataDataAdapter.Fill(cDataDataSet, NombreConsulta)Catch ex As System.ExceptioncErrors += " " & ex.MessageEnd TryReturn cDataDataSetEnd Function Public Function Execute(ByVal Sql As String, Optional ByVal Trans As Boolean =False) As Boolean'Give back the number of the affected rowsTryIf cOriginData = 0 ThencDataCommandOle = New OleDbCommand(Sql, cDataConnectionOle)If Trans Then cDataCommandOle.Transaction = cDataTransOlecRowsAffected = cDataCommandOle.ExecuteNonQuery()ElseIf cOriginData = 1 ThencDataCommandODBC = New OdbcCommand(Sql, cDataConnectionODBC)If Trans Then cDataCommandODBC.Transaction = cDataTransODBCcRowsAffected = cDataCommandODBC.ExecuteNonQuery()ElseIf cOriginData = 2 ThencDataCommandSQL = New SqlCommand(Sql, cDataConnectionSQL)If Trans Then cDataCommandSQL.Transaction = cDataTransSQLcRowsAffected = cDataCommandSQL.ExecuteNonQuery()ElseIf cOriginData = 3 Then'cDataCommandMySQL = New MySqlCommand(Sql, cDataConnectionMySQL)'If Trans Then cDataCommandMySQL.Transaction = cDataTransMySQL'cRowsAffected = cDataCommandMySQL.ExecuteNonQuery()End If

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    45/46

    Catch ex As System.ExceptioncErrors += " " & ex.MessageReturn FalseEnd TryIf cRowsAffected > 0 Then Return True

    End Function '***************************Transactions*********************************************Public Function Transaccion() As BooleanReturn Transaccion(0)End FunctionPublic Function Transaccion(ByVal Value As Integer) As BooleanTryIf cOriginData = 0 ThenSelect Case Value

    Case -1cDataTransOle.Rollback()Case 0cDataTransOle = cDataConnectionOle.BeginTransaction'cDataCommand.Transaction = cDataTransCase 1cDataTransOle.Commit()End SelectElseIf cOriginData = 1 ThenSelect Case ValueCase -1cDataTransODBC.Rollback()Case 0cDataTransODBC = cDataConnectionODBC.BeginTransactionCase 1cDataTransODBC.Commit()End SelectElseIf cOriginData = 2 ThenSelect Case ValueCase -1cDataTransSQL.Rollback()Case 0cDataTransSQL = cDataConnectionSQL.BeginTransactionCase 1cDataTransSQL.Commit()End SelectElseIf cOriginData = 3 Then'Select Case Value' Case -1' cDataTransMySQL.Rollback()

  • 7/30/2019 asp.net Sistema de gestin de login y usuarios en ASP

    46/46

    ' Case 0' cDataTransMySQL = cDataConnectionMySQL.BeginTransaction' Case 1' cDataTransMySQL.Commit()'End Select

    End If Return TrueCatch ex As ExceptioncErrors += " " & ex.MessageEnd TryEnd Function Protected Overrides Sub Finalize()cDataConnectionOle = NothingcDataCommandOle = NothingcDataConnectionODBC = Nothing

    cDataCommandODBC = NothingcDataConnectionSQL = NothingcDataCommandSQL = Nothing'cDataConnectionMySQL = Nothing'cDataCommandMySQL = Nothing cDataOleDB = NothingcDataODBC = NothingcDataSQL = Nothing'cDataMySQL = Nothing cDataTransOle = NothingcDataTransODBC = NothingcDataTransSQL = Nothing'cDataTransMySQL = Nothing MyBase.Finalize()End SubEnd Class