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

Proposta


ejubr

Pergunta

Gostaria de saber se alguém do forum aceita montar um sistema, pois estou fazendo um curso de asp mas eu aprender o que preciso vou perder muito tempo por isso a ajuda de alguém e importante.

E o seguinte e aparentemente simples:

gostaria de montar um sistema que busque dados de um BD Access, os dados estão em uma tabela com os campos nome, descrição e foto.

e retorna os dados que a pessoa pesquisou em uma página html montando uma tabela para separar os dados direito, seria ideal que a pesquisa fosse pelo nome por favor alguém estou precisando urgente.

Vou explicar melhor

ASP - le - BD - retorna - HTML montando uma tabela. sad.gif

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

cara.. isso aparentemente é bem simples de fazer!

A ordem seria:

- Conecta ao banco

- Faz um SQL que faz o SELECT na tabela do banco

- Faz um loop, passando por todo o recordset, que executa o SQL, passando assim por toda a tabela

- Dentro do Loop, mostra os resultados do Select, na pagina.

Entendeu?

A idéia é essa..

Maiores informações.. eu fiz um exemplo passo-a-passo de como fazer um select, aqui nesse tópico:

http://scriptbrasil.com.br/forum/index.php...ndpost&p=157196

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

dark0

consegui entender a sua explicação e li o exemplo passo a passo que você sugeriu mas como faço para linkar este consulta a página anterior que e um htm que tem um campo para buscar os dados. e depois sera que tenho de fazer um outro link para listar tudo em outra página htm.

valeuuu!

Link para o comentário
Compartilhar em outros sites

  • 0

oi

pra fazer a consulta, usando como 'parametro' algum campo de formulario, vai mudar o SQL.

o Select vai passar a usar o comando WHERE, que vai ser comparado ao campo do seu formulario.

- Crie o fomulario. Coloque o campo de consulta, e um botao Submit qualquer.

- No Action do formulario, você coloca a pagina que deve mostrar os dados.

- Na pagina que deve mostrar os dados, antes de mais nada, você recupera o campo que o cara digitou a consulta, usando o request:

variavel = request("nome_do_campo")

- Depois de pegar o dado digitado no formulario, você cria o SQL, para listar apenas o campo buscado:

SQL = "Select * from tabela WHERE campo_da_tabela_do_banco = '"& variavel &"'"

depois executa o sql.. e faz o loop..

tudo continua igual. o que muda é só o SELECT!

Certo?

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

fiz o seguinte:

utilizei o arquivo sugerido por você para ler.

modifiquei a linha que corresponde ao sql conforme dito.

criei uma pagina contendo o formulario com o campo text e o botao submit e dei um nome para o campo text de "nome" e salvei esta pagina como .htm

com respeito a página de resposta utilizei o arquivo no qual modifiquei o sql mas antes da instrução sql utilizei a linha para recuperar a variavel

crei um bd de nome banco.mdb com uma tabela de nome tabela e dois campos de nome "nome" e "email".

Só que quando digito o nome a buscar e clico em submit aparece uma tela e pergunta se quero fazer um download do arquivo que corresponde a pagina que chamei no ACTION do formulario.

tenho que alterar alguma propriedade do submit o que fiz de errado

help,help,help

Link para o comentário
Compartilhar em outros sites

  • 0

hãnm?

Como é?

você ta rodando os codigos em que windows/Servidor web?

como você colocou o action?

Link para o comentário
Compartilhar em outros sites

  • 0

acho que estou explicando mal, vamos de novo:

Primeiro, para rodar os arquivos, salvo eles no seguinte diretorio: C:\Inetpub\wwwroot, depois abro o iexplorer e digito na barra de endereço: //localhost/nome do arquivo.asp.

Então, crei um bd no Access, contendo uma tabela de nome tabela, com os seguintes registros: nome e email.

O exemplo que vc (dark0) utilizou para explicar como faço a consulta, usei ele como meu arquivo de consulta o que chamei de consulta.asp, não alterei nada nele, exceto a linha que recupera o valor da variavel do campo do formulario e alterei a linha de comando do sql conforme sugerido onde acrescentou o comando where a consulta e utilizei este arquivo de consulta.asp com página de resposta.

por ultimo criei uma nova página pesquisa.htm com o formulario colocando dentro do form os componentes text e submit, no ACTION do form escolhi a página consulta.asp e mais nada.

Agora, por será que depois que digito o que pesquisar e clico no botao submit, aparece a tela perguntando se e gostaria de fazer o download do arquivo consulta.asp.

Obrigado pela paciência de todos.

Link para o comentário
Compartilhar em outros sites

  • 0

cade o pessoal?

e o seguinte sacei o que eu tava fazendo:

usei a mesma pagina para consulta e para resposta so que não tinha colocado o codigo de html so asp. (burrrroooooo)rsrsrsrsrrs

corrigi isto mas ta dando do seguinte 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 'nome ='.

/consulta.asp, line 17

gostria de saber o que é?

falouuu brigado

ah so pra lembrar coloquei os tres arquivos, no diretorio de publicacao pesquisa.htm

consulta.asp

banco.mdb

Link para o comentário
Compartilhar em outros sites

  • 0

copia e cola aqui toda a pagina que tem o formulario..

Link para o comentário
Compartilhar em outros sites

  • 0

já descobri o erro eu tava colocando

sql = "select * from tabela WHERE nome = "'&nome&"'"

e a linha de cima não tava dando certo mas coloquei a linha de baixo

sql = "select * from tabela WHERE nome=nome"

e funcionoouuuu

uuuuuhhhhhhhhhh

desculpe a bobeira, deu certo vei valeuuuu

obrigado pelas dicas

já já estou de volta.

Link para o comentário
Compartilhar em outros sites

  • 0

Pagina do formulário

<html>

<head>

<title>Untitled Document</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>

<form name="form1" method="post" action="consulta.asp">

<input name="nome" type="text" id="nome">

<input type="submit" name="pesquisar" value="pesquisar">

</form>

</body>

</html>

pagina asp que chamei de consulta.asp e utilizei como pagina resposta

<html>

<head>

<title> Resposta </title>

</head>

<body bgcolor="FFFFFF">

<%

'conectamos ao banco

url_conexao = Server.MapPath("banco.mdb")

set conexao = Server.CreateObject("ADODB.Connection")

conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao

'recuperar a variavel

id = request("nome")

'selecionamos toda a tabela do banco

sql = "select * from tabela WHERE nome = nome"

set rs = conexao.execute(sql)

'testamos se a tabela esta vazia, pra não dar erros

if rs.eof then

response.write "Nada no banco de dados"

else

'vamos pro primeiro registro da tabela

rs.movefirst

'iniciamos a repetição.. até chegar ao fim da tabela

do while not rs.eof

'mostramos os dados da tabela do banco.. usando rs("campo").. onde RS é o objeto que executa o SQL que seleciona o banco

response.write "Nome: " + rs("nome")

response.write "Email: " + rs("email")

'vamos para o proximo registro

rs.movenext

loop

end if

%>

</body>

</html>

funcionou mas a quando clico no botao submit faz a consulta mas retorna todos os valores inseridos nos registro do banco de dados.

ah e como faço para separar cada registro em uma tabela para os dados ficarem organizados porque eles estão um bagunça tudo junto.

obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

rs.movefirst

'iniciamos a repetição.. até chegar ao fim da tabela

do while not rs.eof

'mostramos os dados da tabela do banco.. usando rs("campo").. onde RS é o objeto que executa o SQL que seleciona o banco

response.write "Nome: " & rs("nome") &"<br>"

response.write "Email: " & rs("email") &"<br>"

'vamos para o proximo registro

rs.movenext

loop

end if

%>

adiciona o q ta em vermelho

Link para o comentário
Compartilhar em outros sites

  • 0

valeu bareta a pagina respos ficou com uma boa formatacao, mais estou tendo um problema que a pagina de resposta esta retornando todos os registro do banco de dados, pesquisa não esta funcionando, o que digito no campo não faz diferenca basta somente clicar no botao submit que roda a pagina de pesquisa mostrando todos os registros do bd.

ajuda porfavor

brigadao

valeuu

Link para o comentário
Compartilhar em outros sites

  • 0

ai cara deu certo, depois vou postar outra coisa interessante que to afim de colocar, tipo ter uma foto cadastrada no bd e na hora que for pesquisar e a pagina resposta mostra os dados aparece tambem a imagem ao lado dos dados, vou tentar fazer aqui se não conseguir vou postar valeuuu.

Link para o comentário
Compartilhar em outros sites

  • 0

to tentando colocar os campos

Nome: askdjfklasd

Email:açlsdjf@asd.açl.as

em tabela, mas ta dando erro no asp, na hora que roda o código.

eu quero colocar em tabela pra ficar legal

tipo:

Nome Email

askdjfklasd açlsdjf@asd.açl.as

askdjfklasd açlsdjf@asd.açl.as

askdjfklasd açlsdjf@asd.açl.as

será que da , por favor ajuda ajuda

Link para o comentário
Compartilhar em outros sites

  • 0

que erro que dá?

Link para o comentário
Compartilhar em outros sites

  • 0

Tipo de erro:

Erro de compilação do Microsoft VBScript (0x800A0400)

Instrução esperada

/consulta.asp, line 29

&"<table width="200" border="0" cellspacing="0" cellpadding="0">"

Código

<html>

<head>

<title> Resposta </title>

</head>

<body bgcolor="FFFFFF">

<%

'conectamos ao banco

url_conexao = Server.MapPath("banco.mdb")

set conexao = Server.CreateObject("ADODB.Connection")

conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao

'recuperar a variavel

id = request("nome")

'selecionamos toda a tabela do banco

sql = "select * from tabela WHERE nome = '"&request.form("nome")&"'"

set rs = conexao.execute(sql)

'testamos se a tabela esta vazia, pra não dar erros

if rs.eof then

response.write "Nada no banco de dados"

else

'vamos pro primeiro registro da tabela

rs.movefirst

'iniciamos a repetição.. até chegar ao fim da tabela

do while not rs.eof

'mostramos os dados da tabela do banco.. usando rs("campo").. onde RS é o objeto que executa o SQL que seleciona o banco

&"<table width="200" border="0" cellspacing="0" cellpadding="0">"

response.write &"<tr><td>""Nome: " + rs("nome") &"</td>"

response.write &"<td>""Email: " + rs("email") &"</td></tr>"

&"</table>"

'vamos para o proximo registro

rs.movenext

loop

end if

%>

</body>

</html>

o que eu tentei acrescentar para colocar os dados em uma tabela esta de vermelho

qual será o erro , ajuda

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

  • 0

deixa o código assim:

<html>

<head>

<title> Resposta </title>

</head>

<body bgcolor="FFFFFF">

<%

'conectamos ao banco

url_conexao = Server.MapPath("banco.mdb")

set conexao = Server.CreateObject("ADODB.Connection")

conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao

'recuperar a variavel

id = request("nome")

'selecionamos toda a tabela do banco

sql = "select * from tabela WHERE nome = '"&request.form("nome")&"'"

set rs = conexao.execute(sql)

'testamos se a tabela esta vazia, pra não dar erros

if rs.eof then

response.write "Nada no banco de dados"

else

'vamos pro primeiro registro da tabela

rs.movefirst

'iniciamos a repetição.. até chegar ao fim da tabela

do while not rs.eof

'mostramos os dados da tabela do banco.. usando rs("campo").. onde RS é o objeto que executa o SQL que seleciona o banco

response.write("<table width="200" border="0" cellspacing="0" cellpadding="0">")

response.write &"<tr><td>""Nome: " + rs("nome") &"</td>"

response.write &"<td>""Email: " + rs("email") &"</td></tr>"

&"</table>"

'vamos para o proximo registro

rs.movenext

loop

end if

%>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

  • 0

&"<table width="200" border="0" cellspacing="0" cellpadding="0">"
response.write &"<tr><td>""Nome: " + rs("nome") &"</td>"
response.write &"<td>""Email: " + rs("email") &"</td></tr>"
&"</table>"

altere para:

Response.write "<table width=""200"" border=""0"" cellspacing=""0"" cellpadding=""0"">"

response.write "<tr><td>Nome: " &rs("nome") &"</td>"

response.write "<td>Email: " & rs("email") & "</td></tr></table>"

Link para o comentário
Compartilhar em outros sites

  • 0

estou novamente discutindo este tópico por que estou com o seguinte problema a pagina de resposta que faz a consulta no banco de dados com o seguinte codigo:

<html>

<head>

<title> Resposta </title>

</head>

<body bgcolor="FFFFFF">

<%

'conectamos ao banco

url_conexao = Server.MapPath("banco.mdb")

set conexao = Server.CreateObject("ADODB.Connection")

conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao

'recuperar a variavel

id = request("nome")

'selecionamos toda a tabela do banco

sql = "select * from tabela WHERE nome = '"&request.form("nome")&"'"

set rs = conexao.execute(sql)

'testamos se a tabela esta vazia, pra não dar erros

if rs.eof then

response.write "Nada no banco de dados"

else

'vamos pro primeiro registro da tabela

rs.movefirst

'iniciamos a repetição.. até chegar ao fim da tabela

do while not rs.eof

'mostramos os dados da tabela do banco.. usando rs("campo").. onde RS é o objeto que executa o SQL que seleciona o banco

Response.write "<table width=""200"" border=""0"" cellspacing=""0"" cellpadding=""0"">"

response.write "<tr><td>Nome: " &rs("nome") &"</td>"

response.write "<td>Email: " & rs("email") & "</td></tr></table>"

'vamos para o proximo registro

rs.movenext

loop

end if

%>

não esta executando o codigo.

porque eu coloquei varios registro no banco de dados mas quando faco a consulta a penas retorna a parte do codigo que diz que não há nada no banco de dados, embora exita varios registros que eu mesmo coloquei.

ajuda

aproveitando a oportunidade o ASP e case sensitive ou digitar letras maiusculas ou minusculas tanto faz?

Editado: Use as tags QUOTE e CODE para formatar seus codigos!

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

  • 0

Sobre Case Sensitive, tanto faz. Não importa se é maiuscula ou minuscula.

Sobre o problema do codigo..

Ou é erro de lógica.. Ou seu SQL não tá funcionando direito.

Re-veja isso..

Acho que para consulta, você deveria usar o LIKE .. ele faz uma busca mais precisa.. pois somente com o WHERE, ele vai mostrar apenas os registros que forem exatamente iguais à busca!

O LIKE traria todas as palavras que tem a instrução digitada!

Abraços

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...