Usuário com melhor resposta
Nome de Arquivo Invalido

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
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
-
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
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
----------------------------------------------------------
-
-
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
-
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 SubObservacao mudei o nome da variavel tirei o cad
XD
-
-
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
-
voce pode postar o codigo de geetConectionCadClientesFotos?
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
-
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