Ir para conteúdo

POWERED BY:

Arquivado

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

lucasmoraes

[Resolvido] erro asp e mysql

Recommended Posts

ola amigos estou mais uma vez aqui pedindo ajuda uhsaushauh

bom eu estou com o seguinte problema fiz uma pagina para editar noticias e a bendita nao funciona nem a pau

essa pagina eu uso fckeditor para um dos campo e mais um campo para o titulo da noticia eu até consigo fazer o recordset normal, ele resgata os valores corretamente mas quando eu tento atualizar ele gera um erro

ADODB.Field error '800a0bcd'

 

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

 

/ccdaribeiraopreto/adm/editar_noticia.asp, line 75

 

estranho e que ele indica uma linha que contem uma variavel que recebe o valor que eu quero passar ao meu fckeditor para que exiba para o cliente a noticia escrita para ele editar ela

vou postar abaixo o cod.

<%
sqlup = "Select * from noticias where idnoticia ='" & Request.QueryString("id")&"'"
Set rsup = conn.execute(sqlup)
noticia = rsup("conteudo_noticia") 'esta é a linha que aparece no erro linha 75
%>

 

apos isso eu so resgato os valores para no fim atualizar com esta função

<%
If Request.QueryString("str") = "edita" Then
titulo = request.Form("txt_titulo")
conteudo = request.Form("noticia")

SQL = "UPDATE noticias SET titulo_noticia="&titulo&"', conteudo_noticia="&conteudo&" where idnoticia="&Request.QueryString("id")&""
conn.Execute(SQL)
%><script>alert('Texto Modificado');</script><%
Response.Redirect("editar_noticia.asp")

End if

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo!!

 

Esteerro se dá porque a suasql não retornou nenhum resultado e você não tratou isso...

 

Tinha que ter um "if rs.eof then" para verificar se há registros.

 

Espero ter ajudado amigo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo!!

 

Esteerro se dá porque a suasql não retornou nenhum resultado e você não tratou isso...

 

Tinha que ter um "if rs.eof then" para verificar se há registros.

 

Espero ter ajudado amigo!

e como eu trato este erro?

 

vou postar meu codigo de uma olhada como eu tinha feito...

<%
sqlup = "Select * from noticias where idnoticia ='" & Request.QueryString("id")&"'"
Set rsup = conn.execute(sqlup)
if not rsup.eof then
noticia = rsup("conteudo_noticia")
end if
%>
<div id="titulo">
Adicionar Notícias
</div>
<form action="editar_noticia.asp?str=edita" method="post">
  <!-- #INCLUDE file="fckeditor/fckeditor.asp" -->
       <table width="710" border="0" align="center" cellpadding="2" cellspacing="2">
 <tr>
 	<td colspan="2" align="left"><a href="edit_noticias.asp" class="linkint">Editar Notícia <br />
 	  <br />
 	</a></td>
   </tr>
 <tr>
   <td width="118" align="right" valign="top">Titulo notícia:</td>
   <td width="592" align="left" valign="top"><label>
     <input name="txt_titulo" type="text" id="txt_titulo" value="<%= rsup("titulo_noticia")%>" size="50" />
   </label></td>
 </tr>
  <tr>
   <td align="right" valign="top">Conteudo:</td>
   <td align="left" valign="top"> </td>
 </tr>
  <tr align="right" valign="top">
   <td colspan="2" align="center">
     <%
       Dim sBasePath

       sBasePath = "fckeditor/"

       Dim oFCKeditor
       Set oFCKeditor = New FCKeditor
      oFCKeditor.BasePath	= sBasePath
       oFCKeditor.height	= 380
       oFCKeditor.width	= 700
       oFCKeditor.Value	= noticia
       oFCKeditor.Create "noticia"
       %>
   <tr>
   <td align="right"><div id="grava"><input type="submit" value="Gravar" /></div></td>
 </tr>
</table>

 </form>

</div>
<%
If Request.QueryString("str") = "edita" Then
titulo = request.Form("txt_titulo")
conteudo = request.Form("noticia")

SQL = "UPDATE noticias SET titulo_noticia="&titulo&"', conteudo_noticia="&conteudo&" where idnoticia="&Request.QueryString("id")&""
conn.Execute(SQL)
%><script>alert('Texto Modificado');</script><%
Response.Redirect("editar_noticia.asp")

End if

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

No seu select você disse:

where idnoticia="&Request.QueryString("id")"

 

Porém a string 'id' não existe. Verifique se você está passando ela corretamente. Exemplo: editar.asp?id=1

Compartilhar este post


Link para o post
Compartilhar em outros sites

A causa mais provável, é que não há nenhum registro.

 

Para evitar esse erro. A maneira mais fácil de fazer isso é adicionar as seguintes linhas:

 

<% 
   set conn = CreateObject("ADODB.Connection") 
   conn.open <connection string> 
   set rs = conn.execute(<sql>) 
   [b]if not rs.eof then[/b] 
       do while not rs.eof 

           rs.movenext 
       loop 
   [b]else 
       response.write "Sem resultados." 
   end if [/b]
   ' ... 
%>

 

Se você estiver certo de que há resultados, você pode verificar se a versão do MDAC é a mais recente

 

 

Outra possível razão é que você está usando uma stored procedure que opera em uma tabela temporária, ou um row-affecting pode afetar sua instrução select. Para contornar esse problema, coloque o seguinte no início de sua stored procedure:

 

SET NOCOUNT ON

 

 

e dê um response.write na sua string SQL para ver o que esta sendo passada.

 

sqlup = "Select * from noticias where idnoticia ='" & Request.QueryString("id")&"'"
response.write sqlup
response.end()

Compartilhar este post


Link para o post
Compartilhar em outros sites

então amigos não sei oque pode ser pois o id chega normalmente eu passo o id em um link e ele chega e quando eu faço o select e o recordset ele exibe para mim oque tem la o problema e o seguinte esta é uma pagina de edição de noticias entao eu primeiro faço o recordset trago os valores, tipo o titulo da noticia aparece num txt e o conteudo retorna no fckeditor e ai o cliente edita ou o titulo ou o conteudo ou os 2 e ai ele clica em atualizar e pronto era para atualizar, este erro so aparece quando eu clico em atualizar e nao quando eu abro a pagina

deu para entenderem?

 

eu fiz algumas modicações tenho uma pagina que edita o conteudo de uma pagina do site e tambem usa o fckeditor eu copiei o conteudo dela para a minha pagina... deveria funcionar mas exibe este erro..

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

 

[MySQL][ODBC 3.51 Driver][mysqld-5.0.45-community-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

 

/ccdaribeiraopreto/adm/editar_noticia.asp, line 43

vou postar o codigo da pagina para que vocês entendam e tentem me ajudar

<body>
<!--#include file="caminho.asp"-->
<!--#include file="topo.asp"-->
<%
SQL = "SELECT * FROM noticias where idnoticia = "&Request.QueryString("id")&""
'response.Write(SQL)
'Response.End()
Set rs = conn.Execute(SQL)
Empresa = rs("conteudo_noticia")
titulo = rs("titulo_noticia")
%>
<div id="meio" class="texto">

<div id="titulo">
Editar Notícia -> 
<%= titulo %>
</div>
<form action="editar_noticia.asp?str=edita" method="post">
	<!-- #INCLUDE file="fckeditor/fckeditor.asp" -->
       <%
       Dim sBasePath

       sBasePath = "fckeditor/"

       Dim oFCKeditor
       Set oFCKeditor = New FCKeditor
       oFCKeditor.BasePath	= sBasePath
       oFCKeditor.height	= 400
       oFCKeditor.width	= 1002
       oFCKeditor.Value	= Empresa
       oFCKeditor.Create "Texto"
       %>
       <div id="grava"><input type="submit" value="Gravar" /></div>
   </form>
</div>

<!--#include file="rodape.asp"-->


</body>
</html>
<%
If Request.QueryString("str") = "edita" Then

SQL = "UPDATE noticias SET conteudo_noticia = '" & Request.Form("texto") & "' WHERE idnoticia ="&Request.QueryString("id")&""
conn.Execute(SQL)
%><script>alert('Texto Modificado');</script><%
Response.Redirect("editar_noticia.asp")

End if

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dentro do seu form coloque um hidden com o nome 'id' e o value 'request.querystring("id")'

 

Você está tentando fazer um update com a variavel id nula.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dentro do seu form coloque um hidden com o nome 'id' e o value 'request.querystring("id")'

 

Você está tentando fazer um update com a variavel id nula.

cara vlw eu tentei oque você me falou e funfou... na verdade nao exatamente como me falou mas este era um dos problemas eu fechei o recordset antes de atualizar e ai foi... vlw

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.