none
Ayuda con sqlite RRS feed

  • Pregunta

  • Buenas tardes primero que nada gracias por leer y en su caso responder mi duda. Estoy aprendiendo vb.net y 

    estoy haciendo un programa en el cual se tiene que registrar y en su caso actualizar un registro en sqlite y todo va bien hasta la hora de ejecutar el sql en sqlite ya intente hacer de todo y sigo recibiendo el siguiente error

    Insuficient parameters supplied to the command

    Primero obtengo los datos de la interfaz principal

    Public Sub Button1_Click(sender As Object, e As EventArgs) Handles SubmitToDatabase.Click
            Dim db As New sqliteconn
            Dim user As DataRowView = DirectCast(DbUsers.SelectedValue, DataRowView)
            Dim currentuser As String
            Dim opType As String
            If RadioButton1.Checked = True Then
                opType = "horallegada"
            ElseIf RadioButton2.Checked = True Then
                opType = "salidacomer"
            ElseIf RadioButton3.Checked = True Then
                opType = "llegadacomer"
            ElseIf RadioButton4.Checked = True Then
                opType = "salida"
            End If
            currentuser = user("nombre").ToString()
            db.filtro(currentuser, opType)
        End Sub

    Y luego se ejecuta este bloque

    Public Sub filtro(ByVal user, ByVal activ)
            conn = New SQLiteConnection("Data Source=casadelacopia.db")
            Dim fetch As String = "SELECT fecha, usuario FROM actividades WHERE fecha = date('now') AND usuario = @user"
            Dim update As String = "UPDATE actividades SET @mov = time('now','localtime') WHERE fecha = date('now','localtime') AND usuario LIKE @user"
            Dim insert As String = "INSERT INTO actividades(fecha, usuario, horallegada) VALUES (date('now','localtime'), @user, time('now','localtime'))"
            Dim todo As String
            Dim i As Integer = 0
            datatable = New DataTable
            Dim command As New SQLiteCommand
            query = New SQLiteCommand(fetch, conn)
            query.Parameters.Add("@user", SqlDbType.VarChar)
            query.Parameters("@user").Value = user
            query.Parameters.Add("@mov", SqlDbType.VarChar)
            query.Parameters("@mov").Value = activ
            conn.Open()
            reader = query.ExecuteReader()
            datatable.Load(reader)
            Try
                If (i = datatable.Rows.Count) Then
                    todo = insert
                    command = New SQLiteCommand(todo, conn)
                    command.ExecuteNonQuery()
                    MsgBox("Bienvenido,buen turno")
                ElseIf (datatable.Rows.Count = 1) Then
                    todo = update
                    command = New SQLiteCommand(todo, conn)
                    command.ExecuteNonQuery()
                    MsgBox("Exelente,Gracias")
                End If
            Catch ex As SQLiteException
                MsgBox("Ha ocurrido el siguiente error" & ex.Message)
            End Try
    
        End Sub

    Creo que alguna variable no estoy pasando bien porque cuando ejecuto el sql directamente en sqlite no hay problema

    Espero y agradezco su ayuda

    • Cambiado Enrique M. Montejo domingo, 27 de diciembre de 2015 10:06 Pregunta relacionada con el acceso a datos con SQLite.
    viernes, 25 de diciembre de 2015 21:36

Todas las respuestas