Jump to content


Photo

Enquete


  • Faça o login para participar
8 replies to this topic

#1 fdebortoli

fdebortoli

    12 Horas

  • Usuários
  • 250 posts
  • Sexo:Masculino
  • Localidade:Joinville-SC

Posted 08/06/2004, 12:05

Tenho uma enquete toda em ASP fiz um sistema de adm p/ ela aonde eu tenho opções p/ exclui atualizar e liberar enquete.

Meu problema está na parte de liberar a enquete, estou utilizando 2 radiobuttons um com o valor -1 e outro com value 0 então quando clicar em algum desses caras ele faz o update no banco mas não dá certo.

ERRO: Tipo de erro:
Microsoft JET Database Engine (0x80040E14)
Erro de sintaxe (operador faltando) na expressão de consulta 'idenquete='.
/projeto_asp/enquete_dinamica/adm/enquete_liberar.asp, line 18



enquete.asp

<!--#include file="../connections/conexao.asp"-->

<%
response.Expires = 0
If session("nivel_acesso") = "" Then 'se não for gerente
Response.redirect "restrito.asp"
Response.End
End If
%>

<%
'faz consulta
Set RS = Server.CreateObject("ADODB.Recordset")
Consulta = "Select * From enquete"
RS.Open Consulta, Conexao %>

<%

'deleta
var = request.form("delete_conteudo")
if var <> "" then
conexao.execute "delete from enquete where idenquete in (" & var & ")"
response.Redirect("enquete.asp")
end if
%>

<script>
function cadastro(){
window.open("enquete_insert.asp","enquete","width=620, height=434, menubar=no, top=0, left=0");{
}
}
</script>
<html>
<head>
<title>Administração</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style1 {
font-size: 9px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
color: #000000;
}
.style2 {
font-size: 9px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
}
.style3 {font-size: 10px}
.style5 {font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif; }
.style6 {font-size: 14px}
.style7 {font-size: 14px; font-family: Verdana, Arial, Helvetica, sans-serif; }
.style9 {font-size: 14px; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; }
.style10 {
font-size: 12px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
}
-->
</style>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="21%" valign="top"><!--#include file="inc_menu.asp"--></td>
<td width="79%" valign="top"><form action="enquete_liberar.asp" method="post" name="conteudo" id="conteudo">
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td colspan="3"><span class="style9"> Enquete<font color="#333333" face="Arial, Helvetica, sans-serif" size="2"> </font></span></td>
</tr>
<tr>
<td width="21%"><font color="#333333" face="Arial, Helvetica, sans-serif" size="2">&nbsp; </font></td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="3"><input name="inserir" type="button" id="inserir" onClick="cadastro()" value="cadastrar nova">
<font color="#333333" face="Arial, Helvetica, sans-serif" size="2">&nbsp; </font></td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="2"></td>
</tr>
<tr>
<td class="style10">Deleta</td>
<td width="24%"><span class="style10">Liberar Enquete </span></td>
<td width="55%" class="style10">Chamada</td>
</tr>
<% while not RS.EOF
xx = xx + 1
cont = cont + 1
If cont mod 2 <> 0 Then
cor = "bgcolor='#F0F0F0'"
Else
cor = "bgcolor='#FFFFFF'"
End If

%>
<tr <%=cor%>>
<td><input type="checkbox" name="delete_conteudo" value="<%=RS("IDEnquete")%>"></td>
<td><font color="#333333" face="Arial, Helvetica, sans-serif" size="2"> Sim
<input name="liberar<%=cont%>" type="radio" <%if rs("liberado") = -1 then response.Write("checked")%> value="-1">
N&atilde;o
<input name="liberar<%=cont%>" type="radio" id="liberar" value="0" <%if rs("liberado") = 0 then response.Write("checked")%>>
<font color="#333333" face="Arial, Helvetica, sans-serif" size="2">
<input name="id<%=cont%>" type="hidden" id="id" value="<%=RS("idenquete")%>">
</font></font></td>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><a href="java script:" style="cursor:hand" onClick="window.open('enquete_update.asp?idenquete=<%=RS("IDEnquete")%>','','top=5,left=5,width=620, height=434')"><%=RS("Chamada")%></a></font></td>
</tr>
<% RS.MoveNext
Wend %>
<tr>
<td><input type="submit" name="deleta" value="deleta" onClick="java script:conteudo.action='enquete.asp';conteudo.submit();"></td>
<td colspan="2"><font color="#333333" face="Arial, Helvetica, sans-serif" size="2"><span class="style9"><font color="#333333" face="Arial, Helvetica, sans-serif" size="2"> </font></span> </font>
<input name="atualizar" type="submit" id="atualizar" value="atualizar">
</td>
<font color="#333333" face="Arial, Helvetica, sans-serif" size="2">&nbsp;</font> </tr>
</table>
</form></td>
</tr>
</table>
</body>
</html>
<% RS.close
set RS = nothing

conexao.close
set conexao = nothing %>




ENQUETE_LIBERAR.ASP
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../connections/conexao.asp"-->
<%
response.Expires = 0
If session("nivel_acesso") = "" Then 'se não for gerente
Response.redirect "restrito.asp"
Response.End
End If
%>
<%
Dim id,liberar
liberar = replace(request.form("liberar"), "'", "''")
id = replace(request.form("id"), "'", "''")


Set RS = Server.CreateObject("ADODB.Recordset")
Consulta = "Select * From enquete where idenquete="&id&""
RS.Open Consulta, Conexao

conexao.execute "UPDATE DISTINCTROW enquete SET liberado = '" & liberar & "' WHERE idenquete = " & (id) & ""
'response.write "update enquete set liberado = '"&liberar&"' where idenquete = "&id&""
' response.Redirect("enquete.asp")
%>
<%
rs.close
set rs = nothing
conexao.close
set conexao = nothing
%>

Edição feita por: fdebortoli, 08/06/2004, 12:20.


#2 Info_Tec

Info_Tec

    Servo do DEUS VIVO!

  • Usuários
  • 398 posts
  • Sexo:Não informado
  • Localidade:Entre a cadeira e o teclado
  • Interesses:Jesus, minha esposa e filha.<br>ASP, Lógica de programação, Projeto de Estradas, $$$ que tô precisando!

Posted 08/06/2004, 12:30

Tente trocar seu Update por esse, veja se a var id está realmente recebendo valor:
SQL = "UPDATE enquete SET liberado = '" & liberar & "' WHERE idenquete = "& id &";"

Response.Write SQL

Response.End

conexao.execute(SQL)

A cada minuto está mais perto.
Aceite JESUS como seu único e suficiente salvador!
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Fórum HOSANAS, venha conversar e se engrandecer com a palavra de DEUS.
Host: ASPECTO, Hospedagem ASP com qualidade e bom preço.

#3 fdebortoli

fdebortoli

    12 Horas

  • Usuários
  • 250 posts
  • Sexo:Masculino
  • Localidade:Joinville-SC

Posted 08/06/2004, 12:42

Na verdade o problema está na consulta, sinceramente eu não sei o que está acontecendo estou passando as variáveis com os nomes certos mas mesmo assim ele retorna o ID nulo.

se tu puder me ajudar ficarei grato!

valeu...

#4 Info_Tec

Info_Tec

    Servo do DEUS VIVO!

  • Usuários
  • 398 posts
  • Sexo:Não informado
  • Localidade:Entre a cadeira e o teclado
  • Interesses:Jesus, minha esposa e filha.<br>ASP, Lógica de programação, Projeto de Estradas, $$$ que tô precisando!

Posted 08/06/2004, 12:50

Olhando com um pouquinho mais de calma reparei que não existe os campos id e nem Liberar em seu Form, e sim id<%=cont%> e Liberar<%=cont%>. Aconselho a repensar um pouco sua lógica. Tente usar CheckBoxes passando o ID como Value para liberar a enquete, dessa forma creio que ficara melhor.
A cada minuto está mais perto.
Aceite JESUS como seu único e suficiente salvador!
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Fórum HOSANAS, venha conversar e se engrandecer com a palavra de DEUS.
Host: ASPECTO, Hospedagem ASP com qualidade e bom preço.

#5 fdebortoli

fdebortoli

    12 Horas

  • Usuários
  • 250 posts
  • Sexo:Masculino
  • Localidade:Joinville-SC

Posted 08/06/2004, 13:56

Entendi sua idéia deixei somente um checkbox com o value
<%=RS("idenquete")%> agora como ficaria a outra pg?


grato!

#6 Info_Tec

Info_Tec

    Servo do DEUS VIVO!

  • Usuários
  • 398 posts
  • Sexo:Não informado
  • Localidade:Entre a cadeira e o teclado
  • Interesses:Jesus, minha esposa e filha.<br>ASP, Lógica de programação, Projeto de Estradas, $$$ que tô precisando!

Posted 08/06/2004, 14:11

Os nomes dos CheckBoxes sendo o mesmo, quando vc for recuperar eles virão separados por "," caso exista mais de 1 marcado, dessa forma vc pode fazer o Update usando o In no seu Where, ficaria +/- assim:
UPDATE enquete SET liberado = 'seu valor para liberado' WHERE idenquete In ("& id &");

A cada minuto está mais perto.
Aceite JESUS como seu único e suficiente salvador!
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Fórum HOSANAS, venha conversar e se engrandecer com a palavra de DEUS.
Host: ASPECTO, Hospedagem ASP com qualidade e bom preço.

#7 fdebortoli

fdebortoli

    12 Horas

  • Usuários
  • 250 posts
  • Sexo:Masculino
  • Localidade:Joinville-SC

Posted 08/06/2004, 14:23

Estamos chegando lá já mudou o erro agora acontece o seguinte


Microsoft JET Database Engine (0x80040E14)
Erro de sintaxe (vírgula) na expressão de consulta 'idenquete=71, 72, 73'.
/projeto_asp/enquete_dinamica/adm/enquete_liberar.asp, line 19



Enquete.ASP
<!--#include file="../connections/conexao.asp"-->

<%
response.Expires = 0
If session("nivel_acesso") = "" Then 'se não for gerente
Response.redirect "restrito.asp"
Response.End
End If
%>

<%
'faz consulta
Set RS = Server.CreateObject("ADODB.Recordset")
Consulta = "Select * From enquete"
RS.Open Consulta, Conexao %>

<%

'deleta
var = request.form("delete_conteudo")
if var <> "" then
conexao.execute "delete from enquete where idenquete in (" & var & ")"
response.Redirect("enquete.asp")
end if
%>

<script>
function cadastro(){
window.open("enquete_insert.asp","enquete","width=620, height=434, menubar=no, top=0, left=0");{
}
}
</script>
<html>
<head>
<title>Administração</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style1 {
font-size: 9px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
color: #000000;
}
.style2 {
font-size: 9px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
}
.style3 {font-size: 10px}
.style5 {font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif; }
.style6 {font-size: 14px}
.style7 {font-size: 14px; font-family: Verdana, Arial, Helvetica, sans-serif; }
.style9 {font-size: 14px; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; }
.style10 {
font-size: 12px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
}
-->
</style>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="21%" valign="top"><!--#include file="inc_menu.asp"--></td>
<td width="79%" valign="top"><form action="enquete_liberar.asp" method="post" name="conteudo" id="conteudo">
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td colspan="3"><span class="style9"> Enquete<font color="#333333" face="Arial, Helvetica, sans-serif" size="2"> </font></span></td>
</tr>
<tr>
<td width="21%"><font color="#333333" face="Arial, Helvetica, sans-serif" size="2">&nbsp; </font></td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="3"><input name="inserir" type="button" id="inserir" onClick="cadastro()" value="cadastrar nova">
<font color="#333333" face="Arial, Helvetica, sans-serif" size="2">&nbsp; </font></td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="2"></td>
</tr>
<tr>
<td class="style10">Deleta</td>
<td width="24%"><span class="style10">Liberar Enquete </span></td>
<td width="55%" class="style10">Chamada</td>
</tr>
<% while not RS.EOF
xx = xx + 1
cont = cont + 1
If cont mod 2 <> 0 Then
cor = "bgcolor='#F0F0F0'"
Else
cor = "bgcolor='#FFFFFF'"
End If

%>
<tr <%=cor%>>
<td><input type="checkbox" name="delete_conteudo" value="<%=RS("IDEnquete")%>"></td>
<td><font color="#333333" face="Arial, Helvetica, sans-serif" size="2">
<input name="liberar" type="checkbox" <%if rs("liberado") = -1 then response.Write("checked")%> value="<%=RS("liberado")%>">
<input name="id" type="hidden" value="<%=RS("idenquete")%>">
</font></td>
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><a href="java script:" style="cursor:hand" onClick="window.open('enquete_update.asp?idenquete=<%=RS("IDEnquete")%>','','top=5,left=5,width=620, height=434')"><%=RS("Chamada")%></a></font></td>
</tr>
<% RS.MoveNext
Wend %>
<tr>
<td><input type="submit" name="deleta" value="deleta" onClick="java script:conteudo.action='enquete.asp';conteudo.submit();"></td>
<td colspan="2"><font color="#333333" face="Arial, Helvetica, sans-serif" size="2"><span class="style9"><font color="#333333" face="Arial, Helvetica, sans-serif" size="2"> </font></span> </font>
<input name="atualizar" type="submit" id="atualizar" value="atualizar">
</td>
<font color="#333333" face="Arial, Helvetica, sans-serif" size="2">&nbsp;</font> </tr>
</table>
</form></td>
</tr>
</table>
</body>
</html>
<% RS.close
set RS = nothing

conexao.close
set conexao = nothing %>

Enquete_Liberar.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../connections/conexao.asp"-->
<%
response.Expires = 0
If session("nivel_acesso") = "" Then 'se não for gerente
Response.redirect "restrito.asp"
Response.End
End If
%>
<%
Dim id,liberar
id = request.form("id")
liberar = request.form("liberar")
var = split(liberar,",")


Set RS = Server.CreateObject("ADODB.Recordset")
Consulta = "Select * From enquete where idenquete="&id
RS.Open Consulta, Conexao, 3, 3

SQL= "UPDATE enquete SET liberado = '"&liberar&"' WHERE idenquete In ("& id &");"
' SQL = "UPDATE enquete SET liberado= -1 WHERE idenquete = "& liberar
response.write(SQL)
conexao.execute(SQL)
%>
<%
rs.close
set rs = nothing
conexao.close
set conexao = nothing
%>

#8 Info_Tec

Info_Tec

    Servo do DEUS VIVO!

  • Usuários
  • 398 posts
  • Sexo:Não informado
  • Localidade:Entre a cadeira e o teclado
  • Interesses:Jesus, minha esposa e filha.<br>ASP, Lógica de programação, Projeto de Estradas, $$$ que tô precisando!

Posted 08/06/2004, 14:51

Ok, vamos lá:

<input name="liberar" type="checkbox" <%if rs("liberado") = -1 then response.Write("checked")%> value="<%=RS("liberado")%>">
'Aqui em cima, deveria ser Value="<%=RS("idenquete")%>"
<input name="id" type="hidden" value="<%=RS("idenquete")%>">
'Essa linha acima passará a não ser nescessária para Deletar e ou Editar

E seu arquivo para liberar:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../connections/conexao.asp"-->
<%
response.Expires = 0
If session("nivel_acesso") = "" Then 'se não for gerente
Response.redirect "restrito.asp"
Response.End
End If
%>
<%
Dim SQL,liberar
liberar = request.form("liberar")

SQL = "UPDATE enquete SET liberado= -1 WHERE idenquete In ("& liberar &");"
response.write(SQL)
conexao.execute(SQL)
%>
<%
conexao.close
set conexao = nothing
%>

Teste ai e verifique.
A cada minuto está mais perto.
Aceite JESUS como seu único e suficiente salvador!
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
Fórum HOSANAS, venha conversar e se engrandecer com a palavra de DEUS.
Host: ASPECTO, Hospedagem ASP com qualidade e bom preço.

#9 fdebortoli

fdebortoli

    12 Horas

  • Usuários
  • 250 posts
  • Sexo:Masculino
  • Localidade:Joinville-SC

Posted 08/06/2004, 15:26

Não funcionou ele até marca no banco o valor -1 tipo SIM/Não mas no momento que eu desmarco o check e atualizo ele não desmarca o -1 no banco e se eu desmarcar todos de uma vez só e mandar atualizar acontece o seguinte erro:

Microsoft JET Database Engine (0x80040E14)
Erro de sintaxe (operador faltando) na expressão de consulta 'idenquete In ()'.
/projeto_asp/enquete_dinamica/adm/enquete_liberar.asp, line 16



teria a possibilidade de fazer um esquema quando seleciona o check faz -1 e quando desceleciona faz 0.

saca?


obrigado...




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq