Login SQLite y Visual Studio 2010 .NET

Iniciado por n3n3, 23 Septiembre 2015, 00:45 AM

0 Miembros y 1 Visitante están viendo este tema.

n3n3

Buenas estoy haciendo un login en Visual Studio 2010 con una base de datos portable echa en SQLite que tiene la siguiente tabla

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

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"
"Todo lo que somos es el resultado de lo que hemos pensado; está fundado en nuestros pensamientos y está hecho de nuestros pensamientos."

n3n3

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:

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:
Dim sql As String = "SELECT name_comp, tipo_user FROM table_users where nom_user = @username and pass_user = @password "
"Todo lo que somos es el resultado de lo que hemos pensado; está fundado en nuestros pensamientos y está hecho de nuestros pensamientos."