Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Erro Na Consulta


claytonprog

Pergunta

Pessoal mais uma vez venho pedir help!

Estou com um consulta dando erro.

No form clientes.asp tenho varios clientes cadastrados e através dele chamo uns eventos:

<div align="center"><font size="1" face="Tahoma"><b><a href="clientes_comentarios.asp?id=<%=rs("id")%>">Ver Comentários</a></b></font></div>

No form clientes_comentarios.asp ele abre um combo com os eventos de acordo com a id do cliente do form clientes até ai tudo bem, porém quando eu seleciono um evento para trazer os comentários do evento dá erro. Segue o codigo:

<%
' Declare our variables... always good practice!
Dim strURL ' The URL of this page so the form will work
' no matter what this file is named.

Dim cnnSearch ' ADO connection
Dim rstSearch ' ADO recordset
Dim strDBPath ' path to our Access database (*.mdb) file

Dim strSQL ' The SQL Query we build on the fly
Dim cliente ' The text being looked for


strSearch = Request.QueryString("search")


%>


<td><p align="left"><STRONG><font color="#000033" face="Tahoma" size="2">

:: Selecione o Evento:</font><FONT face=Tahoma size=2>:</FONT></STRONG></p>
<form action="<%= search %>" method="get">
<div align="center">
<select name="Search" class="formula1" style="width:205; height:22" >
                    
<%
Response.Expires = -1

cliente = request.querystring("Id")

Dim objConnCur, stringSQL, evento

Set objConnCur =  Server.CreateObject("ADODB.Connection")
Set objRSCur =  Server.CreateObject("ADODB.Connection")

objConnCur.Open "DBQ=" & Server.MapPath("db/desing.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"

stringSQL = "SELECT * from tbleventos where id_cliente ="&cliente


[b]Set objRSCur = objConnCur.Execute(stringSQL) // LINHA 162[/b]


While not objRSCur.eof


%>

<option value="<%=objRSCur("id")%>"><%=objRSCur("descricao")%></option>

<br>

<%
    objRSCur.MoveNext
Wend
objRSCur.Close
%>



</select>
          

          <input name="submit" type="submit" value="Pesquisar" />
        </div>
</form>

<table border="0" width="84%" cellspacing="0" cellpadding="0">
    <tr>
        <td>
        <p align="center"><font size="2"><b>
        
<%


If strSearch <> "" Then



strDBPath4 = Server.MapPath("db/desing.mdb")

Set cnnSearch4 = Server.CreateObject("ADODB.Connection")

cnnSearch4.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath4 & ";"

strSQL4 = "SELECT * from tbleventos where id ="&strSearch


Set rstSearch4 = cnnSearch4.Execute(strSQL4)


%>


<div align="center">
<table border="0" cellpadding="4" cellspacing="1" width="228" height="56">
<tr>
<th bgcolor="#FFFFFF" width="218" height="36"><STRONG>
<font color="#FD680C" face="Tahoma" size="2">:: Evento::</font></STRONG></th>


</tr>
<%
Do While Not rstSearch4.EOF
%>
<tr>
<td bgcolor="#FFFFFF">
<div align="center">
<table border="0" width="102%" cellspacing="0" cellpadding="0">
        
</table>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><%=rstSearch4("Descricao")%></b><br>

 </font><table border="0" width="100%" cellspacing="0" cellpadding="0">
    
        </td>
    </tr>
</table>
</td>
</tr>
<%

rstSearch4.MoveNext
Loop
%>
</table>
<%

rstSearch4.Close
Set rstSearch4 = Nothing
cnnSearch4.Close
Set cnnSearch4 = Nothing
End If

' That's all folks! See it's really not all that hard.
%>
</b></font></td>
    </tr>
</table>
</div></td>

erro:

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta 'id_cliente ='.

/solution/painel/clientes_comentarios.asp, line 162

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

Verifiquei o form clientes e o id está sendo passado corretamente sim, de forma que quando eu chamo o form clientes_comentaros.asp ele já carrega a combo com os eventos reverente a ID do cliente selecionado, o problema é quando eu seleciono o evento na combo e tento chamar os comentários dele ai dá erro. Fiz o que foi peddo troquei:

isso:

stringSQL = "SELECT * from tbleventos where id_cliente ="&cliente

por isso:

stringSQL = "SELECT * FROM tbleventos WHERE id_cliente ="&cliente&""

mais ainda continua dando o mesmo erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta 'id_cliente ='.

/solution/painel/clientes_comentarios.asp, line 162

Link para o comentário
Compartilhar em outros sites

  • 0

você pode conferir fazendo um debug:

stringSQL = "SELECT * from tbleventos where id_cliente ="&cliente
response.write "O ID é: " & cliente
response.end

Set objRSCur = objConnCur.Execute(stringSQL)

Se vier em branco.... foi como eu disse, não tá resgatando, neste momento, o ID

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta ae:

<form action="<%= search %>?id=<%= cliente %>" method="get">

e jogue o cliente = request.querystring("id") no começo do codigo.

Só uma dica, valide isso antes de sair jogando a pesquisa no banco porque você está expondo seu ID a qualquer alteração por parte do usuario. Ou valide (se é válido ou vem em branco) ou use o modo hidden (method=post)

Link para o comentário
Compartilhar em outros sites

  • 0

Ta certo, eu fiz errado esqueci de testar.. bom agora testei e aqui funcionou:

<input type="hidden" value="<%= cliente %>" name="id">

coloque isso dentro da tag <form>, lembrando que o cliente = request.querystring("id") tem que ficar no começo do codigo ou pelo menos antes do hidden criado

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...