Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Preciso Recuperar e mostra na tela uma imagem que esta inserido no Banco de dados.Estou usando SQL server 2000 e o campo é do Tipo: 'Imagem'.. como faço isso.estava usando a linha de codigo:Response.BinaryWrite rsExa2("IMAGEM")E estava gerando o erro:Operação OLE DB de várias etapas gerou erros. Verifique cada valor de status OLE DB. Nada foi executado.Agradeço a ajuda
Apos colocar seu Codigo, me gerou esse erro:Exceção./Sol/ferramentas/exames/resultadoLaboratorio/etapa2_enviaImagem.asp, line 181Segue linhas de codigos:178 - <%179 - if not RsExa2.eof then180 - Response.ContentType = "image/jpg"181 - Response.AddHeader "Content-Length", lenb(rsExa2("IMAGEM"))182 - Response.BinaryWrite rsExa2("IMAGEM")183 - Response.End184 - End if 185 - %>Se souber pq da esse erro, Agradeço
Cara...Tem certeza que esse campo tem alguma informação ?Dá um response.write normal no campo para saber se tem alguma coisa nele.
Bahh.. realmetne, nao esta inserindo a imagem no BD.. to usando o comp Dunsdas e o exemplo fornecido pelo fabricante, mas aparente metne nao funciuona.Tem algun exemplo para mim? Olha o Cod do Dundas que to usando.. Pq será nao inseri?-----------------------------------------------------------------Set conexao = Server.CreateObject("ADODB.Connection") conexao.Open "DRIVER=SQL Server; SERVER=127.0.0.1; UID=Solteste; PWD=solteste102030; DATABASE=Solteste;" On Error Resume NextSet objUpload = Server.CreateObject("Dundas.Upload.2")objUpload.UseUniqueNames = FALSE objUpload.Save "d:\inetpub\wwwroot\sol\" dIDEXAME = objUpload.form("ID_EXA") ddescricao = objUpload.form("descricao") Set rs = Server.CreateObject("ADODB.Recordset")rs.Open "solteste", conexao, 2, 3For Each objFile In objUpload.Files If InStr(1,objFile.ContentType,"EXAMESIMAGEM") <> 0 Then rs.AddNew rs("IMAGEM").Value = objFile.Binary rs("ID_EXAMES").Value = dIDEXAME End IfNextrs.Updaters.CloseSet rs = NothingSet objUpload = Nothing
Adiciona o Update aqui.
rs.AddNewrs("IMAGEM").Value = objFile.Binaryrs("ID_EXAMES").Value = dIDEXAMErs.update
E tira o update lá de baixo.
rs.Close
Olha mudei o codigo para ver se ele estava entrnando no IF.. mas aparentemente nao esta, olha como deixei:
For Each objFile In objUpload.Files If InStr(1,objFile.ContentType,"EXAMESIMAGEM") <> 0 Then 'add a new record and insert the image file rs.AddNew rs("IMAGEM").Value = objFile.Binary rs("ID_EXAMES").Value = dIDEXAME rs.Update response.write ("Id Exame: "&dIDEXAME&"'<br>Descrição: "&ddescricao&"'<br>") End IfNext
Ele nao imprimi o Response.write.. entao tb nao executa o AddNew... mas nao sei pq.
sabe pq?? Agradeço
Cara...Tira esse IF.Se não houver imagem ele não entrará no Loop
Tirei i IF, e nada Tirei até o FOR, e nada.. ele entra no Response.write mas nao Adiciona..
Mas tu fr ver se tiro o If. como ele sabe que tabela deve inserir ?
Olah só:
'If InStr(1,objFile.ContentType,"EXAMESIMAGEM") <> 0 Then
"EXAMESIMAGEM" : é o nomew da tabela qeu deve inserir
Ok..Não tire o FOR..Next...Este está certo.Tire agora o "On Error Resume next".Talvez esteja dando algum erro que nós não estamos vendo.
So da uma olhada que eu editei o Post Anterior..
Cara..Mesma assim...Tire o IF. E Tire o "On Error"
Marcelo
olha, consegui fazer com que as informacoes seja inseridas no BD, menos a IMAGEM..
Olha como ta o codigo...
'create an ADO recordsetSet rs = Server.CreateObject("ADODB.Recordset")'open a recordset using the connection stringrs.Open "EXAMESIMAGEM", conexao, 2, 3For Each objFile In objUpload.Files rs.AddNew rs("IMAGEM").Value = objFile.Binary rs("ID_EXAMES").Value = dIDEXAME rs("DESCRICAO").Value = ddescricao rs.UpdateNext
o ID_EXAMES e DESCRICAO são cadastadso. mas imagem não.. sera qeu falta algo.
No SQL Server esta assim o campo IMAGEM:
IMAGEM - tipo: image - 16
você quer simplesmente mostrar a imagem ?
se for é assim:
if not RsExa2.eofResponse.ContentType = "image/jpg"Response.AddHeader "Content-Length", lenb(rsExa2("IMAGEM"))Response.BinaryWrite rsExa2("IMAGEM")Response.End End if