Ir para conteúdo

POWERED BY:

Arquivado

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

kania

Problemas com Insert

Recommended Posts

Olá pessoal,

 

Estou com seguinte problema, tenho 2 paginas (cad_noticias.asp e upload_noticia.asp) que são para efetuar o cadastro de novas noticias no site, porem esta dando um erro que não estou conseguindo achar a solução.

 

Segue os códigos das paginas:

 

cada_noticias.asp (somente a parte do formulário que é o que acredito que interessa)

 

<form name="form1" action="upload_noticia.asp" method="post" enctype="multipart/form-data">
							<tr> 
							  <td width="355" class="Tahoma11Cinza"><strong>Titulo 
								da Noticia:</font></strong></td>
							  <td width="616"><strong> 
								<input name="titulo" type="text" id="titulo" size="50" class="Form3"></font>
								</strong></td>
							</tr>
							<tr> 
							  <td class="Tahoma11Cinza"><strong>Noticia:</font></strong></td>
							  <td><strong> 
								<textarea name="noticia" cols="50" rows="10" id="noticia" class="Form3"></textarea></font>
								</strong></td>
							</tr>
							<tr> 
							  <td class="Tahoma11Cinza"><strong>Foto:</font></strong></td>
							  <td><strong> 
								<input name="foto" type="file" id="foto" size="50" class="Form3"></font>
								</strong></td>
							</tr>
							<tr> 
							  <td class="Tahoma11Cinza"><strong>Créditos:</strong></font></td>
							  <td><strong> 
								<input name="creditos" type="text" id="creditos" size="50" class="Form3"></font>
								</strong></td>
							</tr>
							<tr> 
							  <td class="Tahoma11Cinza"><strong>Fonte:</strong></font></td>
							  <td><strong> 
								<input name="fonte" type="text" id="fonte" size="50" class="Form3"></font>
								</strong></td>
							</tr>
							<tr> 
							  <td colspan="2"> <div align="center"> 
								  <input type="submit" name="submit" value="Cadastrar Noticia" class="Form2">
								</div></td>
							</tr>
						  </form>

 

upload_noticias.asp

 

<!-- #include file = "upload_funcoes.asp" -->
<!--#include file="../conexao/conexao.asp"-->
<%
		loga = session("logar")


' Chamando Funções, que fazem o Upload funcionar
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin

' Recuperando os Dados Digitados ----------------------
titulo = UploadRequest.Item("titulo").Item("Value")
noticia = UploadRequest.Item("noticia").Item("Value")
creditos = UploadRequest.Item("creditos").Item("Value")
fonte = UploadRequest.Item("fonte").Item("Value")

' Tipo de arquivo que esta sendo enviado
tipo_foto = UploadRequest.Item("foto").Item("ContentType")

' Caminho completo dos arquivos enviados
caminho_foto = UploadRequest.Item("foto").Item("FileName")

' Nome dos arquivos enviados
nome_foto = Right(caminho_foto,Len(caminho_foto)-InstrRev(caminho_foto,"\"))

' Conteudo binario dos arquivos enviados
foto = UploadRequest.Item("foto").Item("Value")

' pasta onde as imagens serao guardadas
pasta = Server.MapPath("arquivos/noticias")
nome_foto = "/"&nome_foto

' pasta + nome dos arquivos
cfoto = "arquivos/noticias" + nome_foto

' Fazendo o Upload do arquivo selecionado
if foto <> "" then
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto)
For i = 1 to LenB(foto)
MyFile.Write chr(AscB(MidB(foto,i,1)))
Next
MyFile.Close
end if

' cadastra os dados no banco de dados
sql = "Insert into noticias (titulo,noticia,destaque,img,inserido,data,creditos,fonte) values ('"& titulo &"', '"& noticia &"', '"& destaque &"', '"& cfoto &"', '"& loga &"', '"& date &"', '"& creditos &"', '"& fonte &"')"
Conn.Execute(sql)

' Mostra Mensagem de Confirmação na Tela
Response.write "Dados Cadastrados com Sucesso!"

' Redireciona após 5 segundos
response.write "<br><br>você será redirecionado em 5 segundos..<br>"
response.write "<meta http-equiv='refresh' content='5; url=lista_noticias.asp'/>"
%>

o erro apresentado é:

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''Atualmente, grande parte de nós vive em uma batalha diária contra o tempo, ou melhor, contra a perda deste recurso cada vez mais escasso. Assim, administrá-lo bem e usá-lo de forma mais eficiente é cada vez mais importante. Para nos ajudar a ganhar tempo (o'.

/p_controle/upload_noticia.asp, line 55

Obs.: se eu diminuo a quantidade de texto no campo noticia (que é onde vai realmente a noticia) o código da pagina upload_noticia.asp funciona sem problemas, já verfiquei se o campo no BD não estava incorreto impossibilitando o cadastro de quantidades grnades de texo, e esta como MEMORANDO, como deveria, tanto que se eu fizer a inserção dos dados diretos no BD não da problemas.

Como se eu diminuo a quantidade de texto do campo noticia o código funciona, não acredito que tenha algum erro no código, mas onde é o erro então?

Compartilhar este post


Link para o post
Compartilhar em outros sites

escreva na tela o resultado deste insert, fica melhor de localizar o erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que o que nosso amigo mário disse era fazer o seguinte:

 

response.write sql

response.end

 

assim pode-se enxergar onde está o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

exato poste ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK, desculpa:

 

ele retornou o seguinte:

 

Insert into noticias (titulo,noticia,destaque,img,inserido,data,creditos,fonte) values ('Tecnologias para economizar tempo', 'Atualmente, grande parte de nós vive em uma batalha diária contra o tempo, ou melhor, contra a perda deste recurso cada vez mais escasso. Assim, administrá-lo bem e usá-lo de forma mais eficiente é cada vez mais importante. Para nos ajudar a ganhar tempo (ou evitar de perder) a tecnologia pode ser uma excelente aliada. Vamos começar pela agenda de compromissos. Dispositivos como PDA's, smartphones e notebooks possuem diversos aplicativos de agenda para facilitar o acompanhamento dos nossos compromissos. Mas se você não possui um destes equipamentos não se preocupe, a Internet está pronta para ajudar. Os dois maiores portais de busca da Internet, Yahoo e Google, de olho nesta necessidade colocaram à nossa disposição ferramentas de agenda on-line. O Yahoo Calendar (http://calendar.yahoo.com/) e o Google Calendar (http://www.google.com/calendar) são aplicativos bem interessantes e que merecem uma visita. Mas a tecnologia pode fazer muito mais do que oferecer ferramentas para controle de nossas agendas. Hoje já podemos ter acesso as nossas informações a partir de qualquer momento e local. As tecnologias de comunicação sem fio como as redes Wifi ou celular permitem uma grande economia de tempo por deixarem a nossa disposição recursos que antes eram apenas um sonho distante. Administradores ou a força de vendas de uma empresa podem tomar decisões com muito mais segurança, rapidez e produtividade tendo acesso a estas informações. Tudo a partir de notebooks e smartphones. A boa notícia é que com a chagada das redes 3G os recursos para a mobilidade só irão melhorar. Outra inovação que a tecnologia deixa a nossa disposição são as ferramentas de colaboração. Com elas pessoas distantes geograficamente podem participar de um projeto e interagir sem a necessidade de reuniões presenciais ou viagens. Mais uma vez voltamos para a Internet e suas ferramentas como o Goggle Apps (http://www.google.com/apps). Neste portal temos a nossa disposição um editor de documentos e planilhas, controle de calendário e chat (mensagens instantâneas de texto e voz). Tudo de forma gratuita. Outra ferramenta de colaboração bem interessante é o Wikispaces (http://www.wikispaces.com). Neste site você pode desenvolver um projeto a muitas mãos simultaneamente. Por último não podemos esquecer que a disseminação do conhecimento entre os colaboradores da empresa pode melhorar muito a produtividade. Para esta questão a educação a distância pode realmente ajudar levando a informação a quem precisa sem a necessidade de viagens e seminários. Se você ou sua empresa ainda não estão ligados na mobilidade, colaboração e ensino a distância, acho que é hora de avaliar seriamente a questão pois o tempo não para. Um forte abraço e até a próxima semana. ', '', 'arquivos/noticias/2007051900_blog.uncovering.org_tecnologia_hitchhikers_galaxy_marvin2.jpg', 'kania', '26/3/2008', 'Site Imasters', 'http://imasters.com.br/artigo/8049/tecnologia/tecnologias_para_economizar_tempo/')

Aparentemente todos os campos estão sendo lidos corretamente, inclusive usei uma noticia longa do prório site do Imaster

Compartilhar este post


Link para o post
Compartilhar em outros sites

sempre, eu disse sempre, antes de inserir um texto em seu db mesmo que nao tenha aspas simples padronize por substitui-las por duas aspas simples

 

Variavel = REPLACE(Variavel,"'","''")

Isso deve lhe ajudar a corrigir o erro por hora

 

faça isso e retorne se corrigiu ou entao poste o proximo erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kania, posso estar falando besteira mas repare nisso:

 

Dispositivos como PDA's, smartphones e notebooks ...

 

Será que este apóstrofo não está atrapalhando?

 

 

PDA's

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas voce mudou o nome da variavel

 

usa o mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade eu mudei porque não sei como fazer, veja:

 

primeiro estou pegando ela do formulário

 

noticia = UploadRequest.Item("noticia").Item("Value")

como não soube fazer fiz da forma que achei mais simples que foi criar uma nova variavel e pegar sobre a antiga

 

noticia_fecha = noticia = REPLACE(noticia,"'","''")

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode usar a mesma

 

noticia = REPLACE(noticia,"'","''")

 

ai voce insere a variavel noticia

 

veja la

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode ser tambem

 

inseriu corretamente agora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

de nada tiozinho

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.