Ir para conteúdo

POWERED BY:

Arquivado

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

alinekelly

Filtrar redorset usando um menu/list para definir a coluna do BD

Recommended Posts

Então gente, preciso fazer um recordset, mas estou em duvida, o problema é que a coluna que será filtrada no recordet não é fixa, será escolhida através de um recordet, ou seja o usuari oescolhe se a busca seá por nome, telefone, endereço. etc, (estas informações está em um menu/list) pensei no recordset abaixo: mas quando testo não aparece nada, o que me sugerem

 

<%
Dim cliente_buscarapida
Dim cliente_buscarapida_numRows

Set cliente_buscarapida = Server.CreateObject("ADODB.Recordset")
cliente_buscarapida.ActiveConnection = MM_CRM_Dora_STRING
cliente_buscarapida.Source = "SELECT *  FROM CLIENTES  WHERE '" + Replace(cliente_buscarapida__opcao, "'", "''") + "' LIKE '" + Replace(cliente_buscarapida__MMColParam, "'", "''") + "%'   ORDER BY CLIENTE ASC"
cliente_buscarapida.CursorType = 0
cliente_buscarapida.CursorLocation = 2
cliente_buscarapida.LockType = 1
cliente_buscarapida.Open()

cliente_buscarapida_numRows = 0
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

a logica é:

endereco = request("endereco")
request("nome ")
sql = "select * from tabela where 1=1 "
if nome <> "" then
sql = sql& " and nome='"&nome&'"
end if
if endereco<> "" then
sql = sql&" and endereco='"&endereco&'"
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como é o nome do select?

 

não entendi muito bem seu código, o que seria esse MMColParam? estes replaces de apóstrofe é de segurança?

 

vou dar um exmplo:

 

<input type="text" name="palavra_chave">
<select name="buscarapida_opcao">
<option value="nome">Nome</option>
<option value="cidade">Cidade</option>
</select>


<%
Dim cliente_buscarapida
Dim cliente_buscarapida_numRows

Set cliente_buscarapida = Server.CreateObject("ADODB.Recordset")
cliente_buscarapida.ActiveConnection = MM_CRM_Dora_STRING
cliente_buscarapida.Source = "SELECT *  FROM CLIENTES  WHERE " & Request("buscarapida_opcao") & " LIKE '%" & Request("palavra_chave") & "%'   ORDER BY CLIENTE ASC"
cliente_buscarapida.CursorType = 0
cliente_buscarapida.CursorLocation = 2
cliente_buscarapida.LockType = 1
cliente_buscarapida.Open()

cliente_buscarapida_numRows = 0
%>

 

mesmo assim, lembre de tratar a string e mandar pra uma váriavel pra evitar sql injections.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então, esta dando a seguinte mensagem de erro, e não acho aonde esta o problema:

 

Microsoft VBScript compilation error '800a0409'

 

Unterminated string constant

 

/crm/resultado.asp, line 9

 

cliente_buscarapida.Source = "SELECT * FROM CLIENTES WHERE " & Request("criterio") & " LIKE '%" & Request("busca") & "%'

 

 

<%

Dim cliente_buscarapida

Dim cliente_buscarapida_numRows

 

Set cliente_buscarapida = Server.CreateObject("ADODB.Recordset")

cliente_buscarapida.ActiveConnection = MM_CRM_Dora_STRING

cliente_buscarapida.Source = "SELECT * FROM CLIENTES WHERE " & Request("criterio") & " LIKE '%" & Request("busca") & "%'

 

cliente_buscarapida.CursorType = 0

cliente_buscarapida.CursorLocation = 2

cliente_buscarapida.LockType = 1

cliente_buscarapida.Open()

 

cliente_buscarapida_numRows = 0

%>

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.