Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: n3n3 en 23 Septiembre 2015, 00:45 am



Título: Login SQLite y Visual Studio 2010 .NET
Publicado por: n3n3 en 23 Septiembre 2015, 00:45 am
Buenas estoy haciendo un login en Visual Studio 2010 con una base de datos portable echa en SQLite que tiene la siguiente tabla

Código:
CREATE TABLE `table_users` (
`id_user` INTEGER,
`nom_user` TEXT DEFAULT 25,
`pass_user` TEXT,
`name_comp` TEXT DEFAULT 50,
`tipo_user` TEXT DEFAULT 25,
PRIMARY KEY(id_user)
);


y mi codigo en visual studio es el siguiente

Código:
Imports System.Data.SQLite
Public Class Form2

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Dim NmUser, TpUser, ArUsu As String
            Dim reader As SQLiteDataReader
            Dim conexSQLite As New SQLiteConnection("data source=C:\Users\Admin\Downloads\SQLiteDatabaseBrowserPortable\Data\libreria_db")
            Dim sql As String = "SELECT name_comp, tipo_user FROM table_users where nom_user = @username and pass_user = @password "
            Dim cmd As New SQLiteCommand(sql, conexSQLite)

            conexSQLite.Open()

            cmd.Parameters.Add("@username", SqlDbType.VarChar, 20).Value = TextBox1.Text
            cmd.Parameters.Add("@password", SqlDbType.VarChar, 20).Value = TextBox2.Text

            reader = cmd.ExecuteReader()

            If reader.Read Then
                NmUser = reader.GetString(0).ToUpper
                TpUser = reader.GetString(1).ToUpper
                ArUsu = reader.GetString(2).ToUpper

                If NmUser = "ADMINISTRADOR" Then

                    Form1.Show()

                End If

                MessageBox.Show("Bienvenido " & NmUser & " al sistema.")

            Else
                MsgBox("Usuario o password incorrecto, trate otra vez..")

            End If

            reader.Close()
            conexSQLite.Close()


        Catch ex As Exception
            MsgBox("ERROR." & ex.Message)

        End Try



    End Sub
End Class

Pero al iniciarlo me sale el siguiente error   "índice fuera de los límites de la matriz"


Título: Re: Login SQLite y Visual Studio 2010 .NET
Publicado por: n3n3 en 23 Septiembre 2015, 01:09 am
Muchas gracias a los que se vayan a tomar la molestia de leer mi post, yo solito me respondo y ya de paso se convierte en aporte por si alguien le sirve

El problema radica en esta linea:

Código:
ArUsu = reader.GetString(2).ToUpper

Si ven tengo declarada 3 variables, esto por que al encontrar datos en la tabla los asigne a esas variables, para saber el nombre completo y el tipo de usuario, para asi mismo cargar un formulario especial, para tipo "Admin" o para tipo "Estandar"

Simplemente no declare esa variable en el Query que esta aqui:
Código:
 Dim sql As String = "SELECT name_comp, tipo_user FROM table_users where nom_user = @username and pass_user = @password "