View
229
Download
0
Category
Preview:
Citation preview
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
Recommended