none
Nome de Arquivo Invalido RRS feed

  • Pergunta

  • Boa tarde fiz um cadastro de administrador com fotos porem depois que carrego a menssagem digito os campo nos txt box aparece a seguinte menssagem "nome de arquivo invalido"

    segue o a parte do codigo que ta dando problema:

    Private Sub PGravaAdmCadFotos()
            Using con As OleDbConnection = geetConectionCadClientesFotos()
                Try
                    con.Open()
                    If strCadImagemName <> "" Then

                        Dim fs As FileStream
                        fs = New FileStream(strCadImagemName, FileMode.Open, FileAccess.Read)
                        Dim picByte As Byte() = New Byte(fs.Length - 1) {}
                        fs.Read(picByte, 0, System.Convert.ToInt32(fs.Length))

                        Dim sql As String = "INSERT INTO usuarios (nome, email, senha, Nivel De Permissao, [Imagem]) VALUES(?,?,?,?,?)"
                        Dim cmd As OleDbCommand = New OleDbCommand(sql, con)

                        cmd.Parameters.Add(New OleDb.OleDbParameter("@nome", txtNome.Text))
                        cmd.Parameters.Add(New OleDb.OleDbParameter("@email", txtEmail.Text))
                        cmd.Parameters.Add(New OleDb.OleDbParameter("@senha", txtSenha.Text))
                        cmd.Parameters.Add(New OleDb.OleDbParameter("@Nivel De Permissao", txtNivelPermissao.Text))
                        cmd.Parameters.Add(New OleDb.OleDbParameter("@Imagem", OleDbType.Binary, picByte.Length)).Value = picByte

                        cmd.ExecuteNonQuery()
                        MsgBox(" O Administrador Foi Salvo com Sucesso!")

                        txtEmail.Text = ""
                        txtSenha.Text = ""
                        txtNivelPermissao.Text = ""
                        txtNome.Text = ""
                        imgSalvar.Image = Nothing
                    End If
                Catch ex As Exception
                    MsgBox(ex.Message)
                Finally
                    con.Close()

                End Try

            End Using


        End Sub


    XD


    • Editado jose_down terça-feira, 21 de fevereiro de 2017 22:33
    terça-feira, 21 de fevereiro de 2017 20:54

Respostas

  • MAs qual é o conteudo dessa variavel?

    Retire o try. Ele mais atrapalha do que ajuda no seu codigo, pois ele esconde o verdadeiro erro:

    Private Sub PGravaAdmCadFotos()
            Using con As OleDbConnection = geetConectionCadClientesFotos()
                    con.Open()
                    If strCadImagemName <> "" Then
    
                        Dim fs As FileStream
                        fs = New FileStream(strCadImagemName, FileMode.Open, FileAccess.Read)
    MsgBox(strCadImagemName) 'mostra o conteudo da variavel strCadImagemName
                        Dim picByte As Byte() = New Byte(fs.Length - 1) {}
                        fs.Read(picByte, 0, System.Convert.ToInt32(fs.Length))
    
                        Dim sql As String = "INSERT INTO usuarios (nome, email, senha, Nivel De Permissao, [Imagem]) VALUES(?,?,?,?,?)"
                        Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
    
                        cmd.Parameters.Add(New OleDb.OleDbParameter("@nome", txtNome.Text))
                        cmd.Parameters.Add(New OleDb.OleDbParameter("@email", txtEmail.Text))
                        cmd.Parameters.Add(New OleDb.OleDbParameter("@senha", txtSenha.Text))
                        cmd.Parameters.Add(New OleDb.OleDbParameter("@Nivel De Permissao", txtNivelPermissao.Text))
                        cmd.Parameters.Add(New OleDb.OleDbParameter("@Imagem", OleDbType.Binary, picByte.Length)).Value = picByte
    
                        cmd.ExecuteNonQuery()
                        MsgBox(" O Administrador Foi Salvo com Sucesso!")
    
                        txtEmail.Text = ""
                        txtSenha.Text = ""
                        txtNivelPermissao.Text = ""
                        txtNome.Text = ""
                        imgSalvar.Image = Nothing
                    End If
            
                    con.Close()
    
            
            End Using
    
    
        End Sub

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    • Marcado como Resposta jose_down terça-feira, 21 de fevereiro de 2017 22:29
    terça-feira, 21 de fevereiro de 2017 21:28
    Moderador
  • ja resolvi, voce tava certo o con.Open() estava retornando com endereço de banco invalido pois o padrao do VB vem com || no caminho de bando de dados 

    Muito Obrigo me ajudo bastante ^^ 

    :D


    XD

    • Marcado como Resposta jose_down quarta-feira, 22 de fevereiro de 2017 13:55
    quarta-feira, 22 de fevereiro de 2017 13:51

Todas as Respostas

  • O unico ponto do seu codigo que pode dar essa mensagem é aqui:

         fs = New FileStream(strCadImagemName, FileMode.Open, FileAccess.Read)
                  

    Tem certeza que a variavel strCadImagemName contem um arquivo valido?

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    terça-feira, 21 de fevereiro de 2017 21:11
    Moderador
  • Sim, eu criei uma variavel com nome de strCadImagemName tipo String porem nao to conseguindo achar o erro ele da o debug sem erro ai quando clico em cadastrar Aparece nome de arquivo envalido 


    XD

    terça-feira, 21 de fevereiro de 2017 21:18
  • MAs qual é o conteudo dessa variavel?

    Retire o try. Ele mais atrapalha do que ajuda no seu codigo, pois ele esconde o verdadeiro erro:

    Private Sub PGravaAdmCadFotos()
            Using con As OleDbConnection = geetConectionCadClientesFotos()
                    con.Open()
                    If strCadImagemName <> "" Then
    
                        Dim fs As FileStream
                        fs = New FileStream(strCadImagemName, FileMode.Open, FileAccess.Read)
    MsgBox(strCadImagemName) 'mostra o conteudo da variavel strCadImagemName
                        Dim picByte As Byte() = New Byte(fs.Length - 1) {}
                        fs.Read(picByte, 0, System.Convert.ToInt32(fs.Length))
    
                        Dim sql As String = "INSERT INTO usuarios (nome, email, senha, Nivel De Permissao, [Imagem]) VALUES(?,?,?,?,?)"
                        Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
    
                        cmd.Parameters.Add(New OleDb.OleDbParameter("@nome", txtNome.Text))
                        cmd.Parameters.Add(New OleDb.OleDbParameter("@email", txtEmail.Text))
                        cmd.Parameters.Add(New OleDb.OleDbParameter("@senha", txtSenha.Text))
                        cmd.Parameters.Add(New OleDb.OleDbParameter("@Nivel De Permissao", txtNivelPermissao.Text))
                        cmd.Parameters.Add(New OleDb.OleDbParameter("@Imagem", OleDbType.Binary, picByte.Length)).Value = picByte
    
                        cmd.ExecuteNonQuery()
                        MsgBox(" O Administrador Foi Salvo com Sucesso!")
    
                        txtEmail.Text = ""
                        txtSenha.Text = ""
                        txtNivelPermissao.Text = ""
                        txtNome.Text = ""
                        imgSalvar.Image = Nothing
                    End If
            
                    con.Close()
    
            
            End Using
    
    
        End Sub

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    • Marcado como Resposta jose_down terça-feira, 21 de fevereiro de 2017 22:29
    terça-feira, 21 de fevereiro de 2017 21:28
    Moderador
  • criar arquivo da variavel usei assim porem nao consigo sair dessa parte de erro no codigo

     Private Sub PCarregaImagemAdmCadFotos()
            Dim Openfd As New OpenFileDialog

            Try
                Openfd.Filter = "Imagens (*.jpg;*.bmp;*.gif)|*jpg;*.bmp;*.gif"
                If Openfd.ShowDialog = Windows.Forms.DialogResult.OK Then
                    strImagemName = Openfd.FileName
                    imgSalvar.Image = New System.Drawing.Bitmap(strImagemName)


                End If

            Catch ex As Exception
                MsgBox(ex.Message)

            End Try

        End Sub

    Observacao mudei o nome da variavel tirei o cad 


    XD

    terça-feira, 21 de fevereiro de 2017 21:29
  • fiz igual se falou ele disse que a conexao para abrir con.Open () esta com nome de arquivo invalido


    XD

    terça-feira, 21 de fevereiro de 2017 21:36
  • galera resolvido. Obrigado por todos resolucao :

    no modulo de conexao esta errado pois o padrao de endereço do banco de dados estava com | em duas parte eu tirei e deu certo Deus abençoe voces futuros e atuais programadores.

    Forte Abraços


    XD

    terça-feira, 21 de fevereiro de 2017 22:31
  • voce pode postar o codigo de geetConectionCadClientesFotos?

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    terça-feira, 21 de fevereiro de 2017 22:34
    Moderador
  • ja resolvi, voce tava certo o con.Open() estava retornando com endereço de banco invalido pois o padrao do VB vem com || no caminho de bando de dados 

    Muito Obrigo me ajudo bastante ^^ 

    :D


    XD

    • Marcado como Resposta jose_down quarta-feira, 22 de fevereiro de 2017 13:55
    quarta-feira, 22 de fevereiro de 2017 13:51