ERRO DB STRING

VINICIUS2445 22/06/2015 14:39:05
#448022
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()

TUNUSAT 22/06/2015 14:52:34
#448024
VINICIUS2445,

Experimenta fazer isso (& [Ô][Ô]) na linha do label5.
Ficaria assim:
Label5.Text = dr2.Item([Ô]Nome[Ô]) & [Ô][Ô]


[][ô]s,
Tunusat.
VINICIUS2445 22/06/2015 15:02:03
#448025
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
GUIMORAES 22/06/2015 16:18:31
#448027
Label5.Text = dr2.Item([Ô]Nome[Ô]).ToString()
VINICIUS2445 22/06/2015 16:20:59
#448029
Não foi, tinha um nome de uma variável errada, eu troquei, mas não deu em nada também
VINICIUS2445 22/06/2015 16:37:04
#448030
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
TUNUSAT 22/06/2015 17:09:21
#448031
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.
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.
VINICIUS2445 22/06/2015 17:24:45
#448033
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
VINICIUS2445 22/06/2015 17:26:06
#448034
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()
VINICIUS2445 22/06/2015 17:29:16
#448035
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()


VINICIUS2445 22/06/2015 17:33:29
#448036
Lógico, foi uma solução foçada, mas eu queria a correta msm, tentei colocar .tostring() também n foi...
Página 1 de 2 [14 registro(s)]
Tópico encerrado , respostas não são mais permitidas