Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

raguiar

salvar imagem no banco

Recommended Posts

Ola,

 

Senhores estou com um problema que já tem um semana. Estou tentando salvar uma imagem em um campo da tabela porem esta sempre dando o seguinte erro :

 

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A000D)

Tipos incompatíveis

/Cadastro/insert.asp, line 28

 

 

Tipo de navegador:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FDM; InfoPath.1)

 

Página:

POST 111 bytes to /Cadastro/insert.asp

 

POST Data:

tNome=imagem&tEmail=imabe&tTelefone=332&tImagem=C%3A%5CInetpub%5Cwwwroot%5Cmmc.gif&tMensagem=wsws&Enviar=Enviar

eu tenho um arquivo chamado inserir.asp

 

<%
Option Explicit
	
Dim Imagem_Obj,varPath,varBuffer, recordSet, Conn
Dim nm, mail, fone, msn, imagem,SQL

nm	 = request.form("tNome")
mail   = request.Form("tEmail")
fone   = request.form("tTelefone")
msn	= request.form("tMensagem")
imagem = request.form("tImagem") 

Set Imagem_Obj = Server.CreateObject("adodb.stream")
Imagem_Obj.Type = 1 
Imagem_Obj.Open
Imagem_Obj.loadfromfile(Server.MapPath("chave.jpg"))

varBuffer = Imagem_Obj.Read
Imagem_Obj.Close
Set Imagem_Obj = nothing


'Faço a conexão com o banco de dados
Set Conn = Server.CreateObject("adodb.connection")
Conn.connectionstring = "Provider=SQLOLEDB.1;Password=sa@01;Persist Security Info=True;User ID=sa;Initial Catalog=teste;Data Source=SRV-Teste"
Conn.open 

SQL = "Insert into tb_contato (nome,email,telefone,mensagem,imagem) values ('"&nm&"','"&mail&"','"&fone&"','"&msn&"','"&varBuffer&"')"

Set recordSet = Server.CreateObject("adodb.recordset")	
recordSet.open SQL,Conn,3,2

response.write "Dados Cadastrados"


%>

 

e um outro chamado default.html

 

<form name="form1" method="post" action="insert.asp">
	<table width="200" border="0" cellspacing="1">
		<tr bgcolor="E3EDF3">
		<td><span class="style3">Nome</span></td>
		<td><input name="tNome" type="text" size="30" maxlength="50"></td>
		</tr>
		<tr bgcolor="E3EDF3">
		<td><span class="style3">Email:</span></td>
		<td><input name="tEmail" type="text" size="30" maxlength="50"></td>
		</tr>
		
		<tr bgcolor="E3EDF3">
		<td><span class="style3">Telefone:</span></td>
		<td><input name="tTelefone" type="text" size="30" maxlength="50"></td>
		</tr>
		
		<tr bgcolor="E3EDF3">
		<td><span class="style3">Imagem:</span></td>
		<td><input name="tImagem" type="File" size="30" maxlength="50"></td>
		</tr>
		
		<tr bgcolor="E3EDF3">
		<td colspan="2"><div align="center" class="style3">Mensagem:</div></td>
		</tr>
		
		<tr bgcolor="E3EDF3">
		<td colspan="2"><div align="center">
		<textarea name="tMensagem" cols="30" rows="10"></textarea>
		</div></td>
		</tr>
		
		
		<tr>
		<td colspan="2"><div align="center">
		<input type="submit" name="Enviar" value="Enviar">
		</div></td>
		</tr>
	</table>
</form>

 

 

Nao sei o que mais posso fazer para funcionar, ficarei muito grato se alguem puder me ajudar..

 

Rubem

Compartilhar este post


Link para o post
Compartilhar em outros sites

façca o tratamento de aspas simples em todos os campos e a linha sql não pode conter quebra de linha...

 

e qual é a linha 28??

Compartilhar este post


Link para o post
Compartilhar em outros sites

façca o tratamento de aspas simples em todos os campos e a linha sql não pode conter quebra de linha...

 

e qual é a linha 28??

e alinha 28 é essa : SQL = "Insert into tb_contato (nome,email,telefone,mensagem,imagem) values ('"&nm&"','"&mail&"','"&fone&"','"&msn&"','"&varBuffer&"')"

 

nao sei porque o erro..

Compartilhar este post


Link para o post
Compartilhar em outros sites

então seu "adodb.stream" está com erro: se a intenção é fazer um UPLOAD de imagens, melhor usar um sem componentes, é mais pratico, roda legal, olha aqui um exemplo LINK ai você só faz adaptar, qualquer coisa você manda ai!!

 

mais antes faça outro teste para ver se funciona, troque esse variável "varBuffer" por essa "imagem" e continuei

Compartilhar este post


Link para o post
Compartilhar em outros sites

então seu "adodb.stream" está com erro: se a intenção é fazer um UPLOAD de imagens, melhor usar um sem componentes, é mais pratico, roda legal, olha aqui um exemplo LINK ai você só faz adaptar, qualquer coisa você manda ai!!

 

mais antes faça outro teste para ver se funciona, troque esse variável "varBuffer" por essa "imagem" e continuei

Assim a variavel "imagem" me retorna um caminho: c:\cadastro\imagem.chave.jpg eu preciso de uma rotina que eu possa pegar uma imagem e salvar no bd sql server...eu achei esse exemplo porem nao esta funcionando.

 

voce tem alguma rotina que faça isso?? eu estou fazendo manuntenção em um sistema de almoxarifado e tem um cadastro de produtos que eu preciso cadastrar os dados e uma imagem do produto, tem que ser no banco, nao pode ser em pasta virtual nao.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.