Ir para conteúdo
Fórum Script Brasil

TobiasFranca

Membros
  • Total de itens

    8
  • Registro em

  • Última visita

Posts postados por TobiasFranca

  1. Bom dia. Mais uma vez estou com uma dúvida referente a um código e conto com a ajuda de vocês, estou desenvolvendo uma aplicação que utiliza banco de dados firebird, o problema é o seguinte, toda vez que realizo uma consulta se não existir dados na tabela ocorre um erro. por exemplo, o código abaixo deveria exibir uma mensagem informando que o usuário ou senha estão errados caso não seja encontrado o registro informado pelo usuário, porém ao invés disso ele mostra o seguinte erro: "There are no data to read." e após isso a aplicação trava. O que pode estar acontecendo? É possível resolver esse problema? agradeço pela ajuda.

     Private Sub LogarSistema()
            Dim dr As FbDataReader = Nothing
            Using con As FbConnection = getConnection()
                Try
                    con.Open()
                    Dim sql As String = "SELECT * FROM USUARIO WHERE LOGIN ='" & txtLogin.Text & "' and SENHA ='" & txtSenha.Text & "'"
                    Dim cmd As FbCommand = New FbCommand(sql, con)

                    dr = cmd.ExecuteReader(CommandBehavior.SingleRow)

                    If dr.HasRows Then
                        dr.Read()

                        strUsuario = dr.Item("LOGIN")
                        strPerfil = dr.Item("PERFIL")
                    Else
                        MsgBox("Usuário ou Senha inválidos, verifique.", MsgBoxStyle.Information, "Erro no login")
                    End If
                Catch ex As Exception
                    MsgBox(ex.Message)
                Finally
                    con.Close()
                End Try
            End Using
        End Sub

     

  2. Boa tarde

    Pessoal, estou com um problema ao realizar uma consulta que recebe como parâmetro um valor do tipo string. Segue abaixo detalhes:

     "SELECT B.DATA, C.BLOCO, C.PEDIDO, V.DESCRICAO, C.STATUS FROM CONTROLE C JOIN BLOCOS B ON C.BLOCO = B.NUMEROBLOCO JOIN VENDEDORES V ON C.VENDEDOR = V.CODIGO WHERE C.STATUS=" & strStatus

    Essa variável "strStatus" é do tipo string e no meu banco de dados o campo STATUS é do tipo varchar(20). Se por exemplo eu defino a variável com o valor ="Baixado" e executo a consulta, retorna o seguinte erro:
    dynamic SQL ERROR 
    SQL error code =-206
    Column unknown
    BAIXADO
    at line1, column 172

    Não consigo resolver esse problema, se alguém puder ajudar eu agradeço.

  3. Boa noite!!

    Pessoal estou desenvolvendo uma aplicação no visual studio 2015 community e estou aprendendo os comandos nos videos do youtube, porém fiz um comando para carregar as caixas de texto de um formulário quando o usuário seleciona um registro no datagrideview e clica no botão "consultar", fiz como exemplo de um vídeo, "segue link: https://www.youtube.com/watch?v=s2Gb9pOUNU8", porém não funciona, quando clica no botão consultar aparece o seguinte erro: "Data type mismatch in criteria expression." e no visual studio fica marcado a linha 180 e uma janela conforme imagem em anexo. Grato pela ajuda.

    Private Sub btConsultar_Click(sender As Object, e As EventArgs) Handles btConsultar.Click
            Dim dr As OleDbDataReader = Nothing
            Using con As OleDbConnection = GetConnection()
                Try
                    con.Open()
                    Dim sql As String = "SELECT codigo, fantasia, razao, endereco, bairro, cidade, uf, cep, cnpj, telefone, email, logomarca FROM filiais WHERE codigo=" & DataGridView1.CurrentRow().Cells(0).Value
                    Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
                    dr = cmd.ExecuteReader(CommandBehavior.SingleRow)
                    If dr.HasRows Then
                        dr.Read()
                        txtCodigo.Text = dr.Item("codigo")
                        txtFantasia.Text = dr.Item("fantasia")
                        txtRazao.Text = dr.Item("razao")
                        txtEndereco.Text = dr.Item("endereco")
                        txtBairro.Text = dr.Item("bairro")
                        txtCidade.Text = dr.Item("cidade")
                        txtUF.Text = dr.Item("uf")
                        txtCEP.Text = dr.Item("cep")
                        txtCNPJ.Text = dr.Item("cnpj")
                        txtTelefone.Text = dr.Item("telefone")
                        txtEmail.Text = dr.Item("email")
                        If txtImagem.Image IsNot Nothing Then
                            txtImagem.Image.Dispose()
                        End If
                        Dim fsImagem As New FileStream("image.jpg", FileMode.Create)
                        Dim blob As Byte() = DirectCast(dr.Item("logomarca"), Byte())
                        fsImagem.Write(blob, 0, blob.Length)
                        fsImagem.Close()
                        fsImagem = Nothing
                        txtImagem.Image = Image.FromFile("image.jpg")
                        txtImagem.Refresh()
                    End If
                Catch ex As Exception
                    MsgBox(ex.Message)
                Finally
                    con.Close()
                    dr.Close()
                End Try
            End Using
        End Sub
    End Class
    

    erro.png

×
×
  • Criar Novo...