• Welcome to LusoRobótica - Robótica em Português.
 

Problema com Base de Dados

Started by magtaem, 30 de June de 2014, 21:26

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

magtaem

Boas pessoal o seguinte código dá-me erro no executarcomando2, quando faz o = com o execute scalar.

O QUe estará de errado?

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TmMusica.Tick

        If tbcodigotext = TextBox1.Text Then
        Else


            If TextBox1.Text = "" Then
            Else
                Try
                    Dim executarcomando As String
                    Dim executarcomando2 As String
                    Dim coneccao As New OleDbConnection
                    Dim comando As New OleDbCommand
                    Dim caminhoBD As String = My.Settings.caminhobd




                    coneccao.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source =C:\Users\lol\MEOCloud\Pedro Magalhães\PAP\SOFTWARE\Home automation\Home Automation Voice Control\HomeVoiceControl\HomeVoiceControl\bin\Debug\bd\album.accdb"
                    coneccao.Open()
                    comando.Connection = coneccao
                    comando.CommandText = "SELECT id_album FROM album Where codigobarras=@codigo"
                    comando.Parameters.AddWithValue("@codigo", TextBox1.Text)
                    executarcomando = comando.ExecuteScalar
                    coneccao.Close()

                    coneccao.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source =C:\Users\lol\MEOCloud\Pedro Magalhães\PAP\SOFTWARE\Home automation\Home Automation Voice Control\HomeVoiceControl\HomeVoiceControl\bin\Debug\bd\album.accdb"

                    coneccao.Open()
                    comando.Connection = coneccao
                    comando.CommandText = "SELECT caminho FROM caminho Where id_album='" & executarcomando & "'"

                    executarcomando2 = comando.ExecuteScalar
                    coneccao.Close()

                    wpm.URL = executarcomando2
                    TextBox1.Text = ""
                    ' tbcodigotext = TextBox1.Text

                Catch ex As SqlException
                    MsgBox(ex.Message)
                End Try

            End If
        End If
    End Sub
"O mundo pertence a quem se atreve"

senso

Avr fanboy

magtaem

Não caro amigo, não é isso :)

O erro que retorna é : Tipo de dados incorreto na expressão de critérios.
"O mundo pertence a quem se atreve"

senso

Avr fanboy

jm_araujo

Também não sei grande coisa de VB e nem de SQL, mas o primeiro SELECT não retorna uma lista? Ao concatenar com uma string o VB porta-se bem? Mete um breakpoint antes do executescalar e confirma que o Commandtext está como deve.