ERRO DB STRING
Gente pra encerrar meu programa só falta isso, alguém consegue me indicar aonde estaria esse erro?
quando eu logo com um usuário que não tem uma foto de perfil, aparece esse erro, depois que insiro uma foto, esse ero não aparece mais, alguém poderia me mostrar aonde está esse erro por favor, que eu n o estou achando.
Form1.Hide()
Label4.Text = Form1.TextBox1.Text
Dim codigo As String
codigo = Label4.Text
Dim sqll As String = [Ô]SELECT * FROM Cad_Cliente where N_Cad =[Ô] & codigo
Dim cm1 As New OleDb.OleDbCommand(sqll, dbcon)
Dim dr1 As OleDb.OleDbDataReader
Dim flag As Boolean
Try
dbcon.Open()
dr1 = cm1.ExecuteReader
If dr1.HasRows Then
While dr1.Read
If dr1.Item([Ô]N_Cad[Ô]) = codigo Then
flag = True
PictureBox1.Load(dr1.Item([Ô]Imagem[Ô]))
End If
End While
End If
If flag = False Then
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
dbcon.Close()
Dim nom As String
nom = Label5.Text
Dim sqlll As String = [Ô]SELECT * FROM Cad_Cliente where N_Cad= [Ô] & Label4.Text
Dim cm2 As New OleDb.OleDbCommand(sqlll, dbcon)
Dim dr2 As OleDb.OleDbDataReader
Dim flagg As Boolean
Try
dbcon.Open()
dr2 = cm2.ExecuteReader
If dr2.HasRows Then
While dr2.Read
If dr2.Item([Ô]N_Cad[Ô]) = Label4.Text Then
flag = True
Label5.Text = dr2.Item([Ô]Nome[Ô])
End If
End While
End If
If flagg = False Then
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
dbcon.Close()
quando eu logo com um usuário que não tem uma foto de perfil, aparece esse erro, depois que insiro uma foto, esse ero não aparece mais, alguém poderia me mostrar aonde está esse erro por favor, que eu n o estou achando.
Form1.Hide()
Label4.Text = Form1.TextBox1.Text
Dim codigo As String
codigo = Label4.Text
Dim sqll As String = [Ô]SELECT * FROM Cad_Cliente where N_Cad =[Ô] & codigo
Dim cm1 As New OleDb.OleDbCommand(sqll, dbcon)
Dim dr1 As OleDb.OleDbDataReader
Dim flag As Boolean
Try
dbcon.Open()
dr1 = cm1.ExecuteReader
If dr1.HasRows Then
While dr1.Read
If dr1.Item([Ô]N_Cad[Ô]) = codigo Then
flag = True
PictureBox1.Load(dr1.Item([Ô]Imagem[Ô]))
End If
End While
End If
If flag = False Then
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
dbcon.Close()
Dim nom As String
nom = Label5.Text
Dim sqlll As String = [Ô]SELECT * FROM Cad_Cliente where N_Cad= [Ô] & Label4.Text
Dim cm2 As New OleDb.OleDbCommand(sqlll, dbcon)
Dim dr2 As OleDb.OleDbDataReader
Dim flagg As Boolean
Try
dbcon.Open()
dr2 = cm2.ExecuteReader
If dr2.HasRows Then
While dr2.Read
If dr2.Item([Ô]N_Cad[Ô]) = Label4.Text Then
flag = True
Label5.Text = dr2.Item([Ô]Nome[Ô])
End If
End While
End If
If flagg = False Then
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
dbcon.Close()
VINICIUS2445,
Experimenta fazer isso (& [Ô][Ô]) na linha do label5.
Ficaria assim:
[][ô]s,
Tunusat.
Experimenta fazer isso (& [Ô][Ô]) na linha do label5.
Ficaria assim:
Label5.Text = dr2.Item([Ô]Nome[Ô]) & [Ô][Ô]
[][ô]s,
Tunusat.
Não deu certo, o erro ocorre na parte da imagem no caso, pois quando já tenho uma salva, e eu logo, ela entra tranquilamente, já quando não tenho uma, ocorre esse erro
Label5.Text = dr2.Item([Ô]Nome[Ô]).ToString()
Não foi, tinha um nome de uma variável errada, eu troquei, mas não deu em nada também
Tenten isso também:
If Not IsDBNull(dr2([Ô]Nome[Ô])) Then
flagg = True
Dim Nome As String = dr2([Ô]Nome[Ô])
Label5.Text = dr2.Item([Ô]Nome[Ô])
End If
Mas n obtine resultado, ocorrendo o msm erro
If Not IsDBNull(dr2([Ô]Nome[Ô])) Then
flagg = True
Dim Nome As String = dr2([Ô]Nome[Ô])
Label5.Text = dr2.Item([Ô]Nome[Ô])
End If
Mas n obtine resultado, ocorrendo o msm erro
VINI,
Não é legal armazenar imagens dentro do banco de dados. O motivo é que nunca corretamente sabemos seu tamanho e isso pode causar problemas.
O mais certo é colocar somente o CAMINHO e o NOME da imagem para que ela possa ser recuperada através destes parâmetros.
Mas como você guardou, podemos ver o que está acontecendo... por exemplo:
http://www.linhadecodigo.com.br/artigo/47/como-armazenar-imagens-no-banco-de-dados.aspx
Listagem 1: Recupere um registro do banco de dados e propague os campos no formulário.
Veja como o exemplo acima recupera a informação de uma imagem dentro do banco de dados.
[][ô]s,
Tunusat.
Não é legal armazenar imagens dentro do banco de dados. O motivo é que nunca corretamente sabemos seu tamanho e isso pode causar problemas.
O mais certo é colocar somente o CAMINHO e o NOME da imagem para que ela possa ser recuperada através destes parâmetros.
Mas como você guardou, podemos ver o que está acontecendo... por exemplo:
http://www.linhadecodigo.com.br/artigo/47/como-armazenar-imagens-no-banco-de-dados.aspx
Listagem 1: Recupere um registro do banco de dados e propague os campos no formulário.
Public Sub FillFields()
[ô]Preencha os campos com dados do registro
Dim lngImageSize As Long
Dim lngOffset As Long
Dim bytChunk() As Byte
Dim intFile As Integer
Dim strTempPic As String Const conChunkSize = 100
Dim strImage As String
If Not (rs.BOF And rs.EOF) Then
txtImageTitle.Text = rs.Fields([Ô]ImageTitle[Ô])
If Trim$([Ô][Ô] & rs.Fields([Ô]ImagePath[Ô])) = [Ô][Ô] Then
[ô]Imagem foi salva como um BLOB
txtImagePath.Text = [Ô][Ô]
optImageType(1).Value = True
[ô]Certifique-se de que o arquivo temporário ainda não exista
strTempPic = App.Path & [Ô]\TempPic.jpg[Ô]
If Len(Dir(strTempPic)) > 0 Then Kill strTempPic
[ô]Abra o arquivo temporário para salvar o BLOB em
intFile = FreeFile
Open strTempPic For Binary As #intFile
[ô]Leia os dados binários contidos no vetor da variável de byte
lngImageSize = rs([Ô]ImageBLOB[Ô]).ActualSize
Do While lngOffset < lngImageSize
bytChunk() = rs([Ô]ImageBLOB[Ô]).GetChunk(conChunkSize)
Put #intFile, , bytChunk()
lngOffset = lngOffset + conChunkSize
Loop
Close #intFile
[ô]Depois de carregar a imagem, exclua o arquivo temporário
imgDBImage.Picture = LoadPicture(strTempPic)
Kill strTempPic
Else [Ô]Imagem foi salva como um ponteiro de arquivo
txtImagePath.Text = rs.Fields([Ô]ImagePath[Ô])
optImageType(0).Value = True
If Not IsNull(rs.Fields ([Ô]ImagePath[Ô])) Then
strImage = Trim$([Ô][Ô] & rs.Fields([Ô]ImagePath[Ô]))
If Len(Dir(strImage)) Then
imgDBImage.Picture = LoadPicture(strImage)
Else
imgDBImage.Picture = LoadPicture()
End If
End If
End If
End If
End Sub
Veja como o exemplo acima recupera a informação de uma imagem dentro do banco de dados.
[][ô]s,
Tunusat.
Eu não entendi muito bem, vou te explicar o que eu fiz para salvar a imagem, eu inseri uma textbox, na qual eu deixarei invisÃvel na hora de executar o programa, quando o usuário fazer o upload na imagem, esse caminho dela vai para a textbox, que é a textbox3.text no caso, quando o usuário salvar a foto, irá fazer isso:
Dim sql As String
sql = [Ô]UPDATE Cad_Cliente SET Imagem=@Imagem WHERE N_Cad=[Ô] + Label4.Text
Dim CM As New OleDbCommand(sql, dbcon)
Try
CM.Parameters.AddWithValue([Ô]@Imagem[Ô], TextBox3.Text)
dbcon.Open()
CM.ExecuteNonQuery()
dbcon.Close()
MessageBox.Show([Ô]Imagem adicionada com sucesso[Ô])
Catch ex As Exception
MessageBox.Show(ex.Message, [Ô]Falha no carregamento da foto[Ô])
End Try
dbcon.Close()
aquele código que eu postei é para o carregamento da mesma
Dim sql As String
sql = [Ô]UPDATE Cad_Cliente SET Imagem=@Imagem WHERE N_Cad=[Ô] + Label4.Text
Dim CM As New OleDbCommand(sql, dbcon)
Try
CM.Parameters.AddWithValue([Ô]@Imagem[Ô], TextBox3.Text)
dbcon.Open()
CM.ExecuteNonQuery()
dbcon.Close()
MessageBox.Show([Ô]Imagem adicionada com sucesso[Ô])
Catch ex As Exception
MessageBox.Show(ex.Message, [Ô]Falha no carregamento da foto[Ô])
End Try
dbcon.Close()
aquele código que eu postei é para o carregamento da mesma
Ou seja, eu passei o caminho para a textbox, desse caminho eu joguei no banco de dados, ai, eu recuperei o caminho com esse código
Form1.Hide()
Label4.Text = Form1.TextBox1.Text
Dim codigo As String
codigo = Label4.Text
Dim sqll As String = [Ô]SELECT * FROM Cad_Cliente where N_Cad =[Ô] & codigo
Dim cm1 As New OleDb.OleDbCommand(sqll, dbcon)
Dim dr1 As OleDb.OleDbDataReader
Dim flag As Boolean
Try
dbcon.Open()
dr1 = cm1.ExecuteReader
If dr1.HasRows Then
While dr1.Read
If dr1.Item([Ô]N_Cad[Ô]) = codigo Then
flag = True
PictureBox1.Load(dr1.Item([Ô]Imagem[Ô]))
End If
End While
End If
If flag = False Then
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
dbcon.Close()
Form1.Hide()
Label4.Text = Form1.TextBox1.Text
Dim codigo As String
codigo = Label4.Text
Dim sqll As String = [Ô]SELECT * FROM Cad_Cliente where N_Cad =[Ô] & codigo
Dim cm1 As New OleDb.OleDbCommand(sqll, dbcon)
Dim dr1 As OleDb.OleDbDataReader
Dim flag As Boolean
Try
dbcon.Open()
dr1 = cm1.ExecuteReader
If dr1.HasRows Then
While dr1.Read
If dr1.Item([Ô]N_Cad[Ô]) = codigo Then
flag = True
PictureBox1.Load(dr1.Item([Ô]Imagem[Ô]))
End If
End While
End If
If flag = False Then
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
dbcon.Close()
Eu fiz o seguinte, veja se percebe kkkkk, talvez vc ria tbm kkkk
Dim codigo As String
codigo = Label4.Text
Dim sqll As String = [Ô]SELECT * FROM Cad_Cliente where N_Cad =[Ô] & codigo
Dim cm1 As New OleDb.OleDbCommand(sqll, dbcon)
Dim dr1 As OleDb.OleDbDataReader
Dim flag As Boolean
Try
dbcon.Open()
dr1 = cm1.ExecuteReader
If dr1.HasRows Then
While dr1.Read
If dr1.Item([Ô]N_Cad[Ô]) = codigo Then
flag = True
PictureBox1.Load(dr1.Item([Ô]Imagem[Ô]))
End If
End While
End If
If flag = False Then
End If
Catch ex As Exception
MessageBox.Show([Ô]Ainda não tem uma foto de perfil?, adicione uma![Ô])
End Try
dbcon.Close()
Dim codigo As String
codigo = Label4.Text
Dim sqll As String = [Ô]SELECT * FROM Cad_Cliente where N_Cad =[Ô] & codigo
Dim cm1 As New OleDb.OleDbCommand(sqll, dbcon)
Dim dr1 As OleDb.OleDbDataReader
Dim flag As Boolean
Try
dbcon.Open()
dr1 = cm1.ExecuteReader
If dr1.HasRows Then
While dr1.Read
If dr1.Item([Ô]N_Cad[Ô]) = codigo Then
flag = True
PictureBox1.Load(dr1.Item([Ô]Imagem[Ô]))
End If
End While
End If
If flag = False Then
End If
Catch ex As Exception
MessageBox.Show([Ô]Ainda não tem uma foto de perfil?, adicione uma![Ô])
End Try
dbcon.Close()
Lógico, foi uma solução foçada, mas eu queria a correta msm, tentei colocar .tostring() também n foi...
Tópico encerrado , respostas não são mais permitidas