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

ASP


spriggan

Pergunta

olá boa tarde galera....

trago mais um probleminha aqui pra vocês.. espero q me ajudem....

seguinte, tenho recordset criado na minha pagina, onde é exibido os resultados da consulta. o select ficou assim....

SELECT *

FROM dbo.PRODUTOS_PRECOS, PRODUTOS_BARRA

WHERE dbo.PRODUTOS_PRECOS.PRODUTO = 'MMColParam' AND dbo.PRODUTOS_BARRA.CODIGO_BARRA = 'MMColParam' AND CODIGO_TAB_PRECO = 5

implementei o código com:

if Recordset1.eof then

response.write "Produto não encontrado."

response.end

end if

mas o problema é o seguinte, o resultado não é exibido ....!

quando informo o valor da pesquisa, sempre são dois (REFERENCIA = TABELA PRODUTOS) e CODIGO DE BARRAS (uso contains pra pesquisar na coluna CODIGO_BARRA que pertence a outra tabela) será sempre assim ou um item ou o outro item nunca os dois, mas o interessante seria ter um unico textfield para fazer estas consultas. como fazer para exibir que referencia ou código

não forem encontrados....?

pois desta forma que fiz, com o if Recordset1.eof then não retorna resultado pois se pesquisar pela referencia (produto) o campo do codigo não retornaria resultado daí o recordset1.eof retorna que não há registros como corrigir.????

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0
Se eu bem entendi basta que você use OR na clausula de where de seu select para pesquisar em dois campos do bd levando em consideração uma única varável do input...

no caso então o select ficaria assim:

SELECT *
FROM dbo.PRODUTOS_PRECOS, PRODUTOS_BARRA
WHERE dbo.PRODUTOS_PRECOS.PRODUTO = 'MMColParam' AND  CODIGO_TAB_PRECO = 5 OR dbo.PRODUTOS_BARRA.CODIGO_BARRA = 'MMColParam'

Link para o comentário
Compartilhar em outros sites

  • 0
Exatamente... algo desse tipo ai! tudo na mesma linha só e na sintaxe correta! ;-)

Testei desta forma que passei acima, porem quando testo agora tá danto time out.....

testei deste outro metodo mas obtive o mesmo resultado tempo exedido....

SELECT a.*,b.*

FROM dbo.PRODUTOS_PRECOS a inner join PRODUTOS_BARRA b

on a.PRODUTO = 'MMColParam' AND a.CODIGO_TAB_PRECO = 05 OR b.CODIGO_BARRA = 'MMColParam'

e assim também

SELECT a.*,b.*

FROM dbo.PRODUTOS_PRECOS a inner join PRODUTOS_BARRA b on (a.PRODUTO = 'MMColParam' AND a.CODIGO_TAB_PRECO = 05) OR (a.CODIGO_TAB_PRECO = 05 AND b.CODIGO_BARRA = 'MMColParam')

o resultado foi:

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E31)

[Microsoft][ODBC SQL Server Driver]Tempo excedido

/prevenda/frame.asp, line 21

LINHA 21: Recordset1.Open()

Editado por spriggan
Link para o comentário
Compartilhar em outros sites

  • 0

Como disse... a sintaxe não é a mais adequada... tente assim:

sql = "SELECT * FROM dbo.PRODUTOS_PRECOS, PRODUTOS_BARRA WHERE dbo.PRODUTOS_PRECOS.PRODUTO = 'MMColParam' AND  CODIGO_TAB_PRECO = 5 OR dbo.PRODUTOS_BARRA.CODIGO_BARRA = 'MMColParam' "

se não funcionar poste o codigo completo!

Link para o comentário
Compartilhar em outros sites

  • 0

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/loja.asp" -->
<%
Dim Recordset1__MMColParam
Recordset1__MMColParam = "1"
If (Request.QueryString("itempesquisa") <> "") Then 
  Recordset1__MMColParam = Request.QueryString("itempesquisa")
End If
%>
<%
Dim Recordset1
Dim Recordset1_numRows

Set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_loja_STRING
Recordset1.Source = "SELECT *  FROM dbo.PRODUTOS_PRECOS, PRODUTOS_BARRA  WHERE dbo.PRODUTOS_PRECOS.PRODUTO = '" + Replace(Recordset1__MMColParam, "'", "''") + "' AND  CODIGO_TAB_PRECO = 05 OR dbo.PRODUTOS_BARRA.CODIGO_BARRA = '" + Replace(Recordset1__MMColParam, "'", "''") + "'"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 1
Recordset1.Open()

Recordset1_numRows = 0
if Recordset1.eof then
  response.write "Produto não encontrado."
  response.end
end if
%>



<%
Recordset1.Close()
Set Recordset1 = Nothing
%>
O HTML:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
itempesquisa
<table width="800" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="177"><%=(Recordset1.Fields.Item("PRODUTO").Value)%></td>
    <td width="623"><%=(Recordset1.Fields.Item("PRECO1").Value)%> </td>
  </tr>
  <tr>
    <td><%=(Recordset1.Fields.Item("CODIGO_BARRA").Value)%>
</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td></td>
    <td>&nbsp;</td>
  </tr>
</table>
<br />
<table width="94%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>
</body>
<meta HTTP-EQUIV="refresh" CONTENT="3">
</html>

Editado por Rafael Spilki
tags code
Link para o comentário
Compartilhar em outros sites

  • 0

Esse codigo aí você ta fazendo com o DW né?

Isso não é aconselhável... ocorrem exatamente esses problemas...

Fica bem complicado apontar apenas uma causa pra esse problema... eu refaria o código inteiro...

Acho que corrigiremos um problema e aparecerão outros...

Sugestão: pegue um codigo pronto aqui no forum de consulta ao bd e tente adaptar as suas necesidades... certamente sairá ganhando...

Mas enfim... qual a mensagem de erro está aparecendo agora...

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0
Invista nessa sugestão que lhe dei... a sintaxe do seu codigo... em uma forma geral precisa ser trabalhada!

[]'s Rafael Spilki

Cara estou seguindo sua sugestões a muito tmpo..... rsrsr, to começando a ver a realidade da matrix, é bom olhar um código e conseguir interpreta-lo, estou muito preso ao dw isso é verdade, mas no momento não tenho tmpo pra estudar somente o código pois preciso dos resultados um pouco rapido mesmo que dpois (quando entender bem a linguagem) eu refaça tudo mesmo a nivel de estudo ou como um projeto final, tmb me interessei muito pelos resultados obtidos pelo AJAX achei show de bola....

por em quanto preciso fazer isso funcionar, assim q tiver mais tmpo conserteza terei mais perguntas, afinal num nasci sabendo néh rsrsrsrs cara a você e ao forum scriptbrasil mtooooo obrigadoo mesmo... pelas dicas, aulas e paciencia de todos!!!!!!

valeuuuu......

to aqui na luta pra desvendar os misterios de ASP x DW rsrsrs

valeu mesmo pela força!

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,5k
×
×
  • Criar Novo...