[ GuTo ] Postado Outubro 11, 2003 Denunciar Share Postado Outubro 11, 2003 Olá galeraNão sei o q tá errado nessa merda...hehe...não sei mesmo...se alguém puder, me ajude...por favor...ERROMicrosoft OLE DB Provider for ODBC Drivers erro '80040e14' [Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe na cláusula FROM. /sitesdoguto/noticia.asp, line 41NOTICIA.ASP<% Option Explicit dim id if id = "" then id = request.QueryString("id") dim db, rs, sql set db = Server.CreateObject("ADODB.Connection") set rs = Server.CreateObject("ADODB.Recordset") db.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("dados.mdb") %><html> <head> <title>Chat Canoas</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="styles.css" rel="stylesheet" type="text/css"> </head> <body topmargin="0"> <% sql = "select * from noticias INNER JOIN membros" sql = sql & "ON noticias.id_autor = membros.id" sql = sql & "where id=" & id rs.open sql,db if rs.eof then %><h4 align="center" class="cor2">Notícia não existente</h4> <p align="center"><a href="javascript:history.back()"><img src="http://www.chatcanoas.pop.com.br/icons/seta_left.gif" border="0" width="10" height="09"> Voltar</a></b></p> <% else %><table class="bg2" width="418" border="0" align="center" cellpadding="0" cellspacing="1"> <tr class="bg1"> <td width="25%"><%=day(rs("data"))%>/<%=month(rs("data"))%> - <%=hour(rs("data"))%>:<%=minute(rs("data"))%></td> <td width="367"> <b><a href="noticia.asp?id=<%=rs("id")%>"><%=rs("titulo")%></a></b></td> </tr> <tr class="bg1"> <td colspan="2" class="bg2"> <table width="130" border="0" align="left"> <tr> <td align="center"><img src="figuras\usr_<%=rs("id_autor")%>.jpg"></td> </tr> </table><%=rs("sobre")%></td> </tr> <tr class="bg2" height="18"> <td height="18" colspan="2"><table width="410" height="18" border="0" align="center" cellpadding="0" cellspacing="0" class="noticia"> <tr> <td width="295" style="border-right=#F8F9FB 1px solid;">Autor: <a href="perfil.asp?id=<%=rs("id_autor")%>">Autor apelido<!-- Como faço pra mostrar o apelido do Autor ou qualquer outro do dado do mesmo? --></A> </td> <% Dim total,garotos,garotas set db = Server.CreateObject("ADODB.Connection") db.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/geral.mdb") set rs = Server.CreateObject("ADODB.recordset") rs.open "SELECT COUNT(*) As total_comentarios FROM membros",db,1,1 total_comentarios = rs("total_comentarios") rs.close db.close set rs = nothing set db = nothing %><td width="115" align="right"> <a href="noticia.asp?id=<%=rs("id")%>">Comentários</a> (<%response.write(total_comentarios)%>)</td> </tr> </table></td> </tr> </table> <%end if%> <% db.Close Set rs = Nothing Set db = Nothing %> </body> </html> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Outubro 11, 2003 Denunciar Share Postado Outubro 11, 2003 Brother!!sql = "select * from noticias INNER JOIN membros" Não sei ao certo, mas vamos lá. INNER JOIN é usado mais para relacionamento de campos de tabela para tabela. Experimente usar ou selecionar só o campo especifico da tabela: Ex: Select nome.membros from membros ou a tabela completa; Ex: Select * from membros.Pois acho que esta instrução no código esta incorreta.Abraços!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 eloahcristina Postado Outubro 11, 2003 Denunciar Share Postado Outubro 11, 2003 Olha como o outro camarada falou o inner joiin, eu nunca usei então não sei exatamente se o erro é nele mas tenta assimsql = "select * from noticias where membros=" $membros seleciona da tabela noticias onde membros da tabela = o campo membros do formulários Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 [ GuTo ] Postado Outubro 12, 2003 Autor Denunciar Share Postado Outubro 12, 2003 Bem galera, vou explicar o que eu quero fazer então.Tenho um BD com várias tabelas, e a principal delas é a membros, onde guarda os dados pessoais de cada membro cadastrado no site.Depois tenho outras tabelas, as que eu considero de maior importancia depois desta, são a eventos e noticias. Pois bem, nelas ficara armazenado os seguintes campos, respectivamente;- id, nome, local, data, descricao, id_organizador;- id, id_autor, titulo, descricao, data;Então... o id_organizador e id_autor seriam campos que teria o id do usuário cadastrado na tabela membros. Ex.: Eu fui a primeira a pessoa à me cadastrar em meu site, então meu id será 1. Até aí tudo ok. Então eu irei anunciar/promover um evento, daí na hora q eu kerer fazer isso, teria de ser inserido na tabela eventos todos os dados, inclusive o meu id, q seria inserido no campo id_organizador.Deu pra entender?Pelo que eu saiba, tenho de usar INNER JOIN. Acho eu que meu código está certo, mas está dando erro. Desculpe, mas não sei. Se alguém puder me ajudar a resolver este problema ficarei grato.Para quem tiver interessado em saber mais sobre INNER JOIN e querer me ajudar, aqui disponiblizo um link que mostrará um artigo que fala como usar INNER JOIN. Clique aqui e veja o artigo ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 [ GuTo ] Postado Outubro 13, 2003 Autor Denunciar Share Postado Outubro 13, 2003 Ae rapaziada..descobri q tudo está ok, o unico problema está no where.pois em todas as tabelas há um campo com o mesmo nome: id.Então, na hora de fazer o select, ele não sabe de ql tabela selecionar o id, se é da membros ou da noticias.então eu mudei a instrução, ficando assim:<% sql = "select DISTINCT * from noticias INNER JOIN membros " sql = sql & "ON noticias.id_autor = membros.id " sql = sql & "where noticia.id='"&id&"' " rs.open sql,db if rs.eof then %> Então vejam o q eu quero... quando eu acessar noticia.asp?id=1 mostrará a noticia de id nº1, da tabela noticias, isso usando querystring. Mas quando eu fiz esta sql deu este erro:Microsoft OLE DB Provider for ODBC Drivers error '80040e10' [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. /chatcanoas/noticia.asp, line 41A linha 41 é a do rs.open sql,db Mas sei q o erro está no finalzinho do código ali da instrução sql, mas não sei como faze-lo funcionar (noticia.id='"&id&"') Lembrando q o inicio do código tem isso:<% Option Explicit dim id if id = "" then id = request.QueryString("id") dim db, rs, sql set db = Server.CreateObject("ADODB.Connection") set rs = Server.CreateObject("ADODB.Recordset") db.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("dados.mdb") %> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 [ GuTo ] Postado Outubro 13, 2003 Autor Denunciar Share Postado Outubro 13, 2003 Ai ai, vivendo e aprendendo... com muito esforço galera, eu ando me superando.Antes de postar as dúvidas, eu juro q procuro as respostas em tudo quanto é canto. Se não acho, venho aki e posto a dúvida, mas isso não quer dizer que eu deixo de procurar esclarecer minha dúvida pesquisando sozinho em todos meios disponiveis na internet.Pois bem, testei nesta linha sql = sql & "where noticia.id='"&id&"' " tirar as aspas simples ', pois lembrei o id é um numero, então não é string... dae funfou.Ah, retirei o DISTINCT q tinha colocado, a principio eu não tinha entendido direito pra q servia, depois q entendi vi q só estava atrapalhando.De qlqr forma, obrigado.Obs.: fiquei fazendo umas consultas sql com BD e dae surgiu tal idéia. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 [ GuTo ] Postado Outubro 13, 2003 Autor Denunciar Share Postado Outubro 13, 2003 :D Putz, q mala eu sou...Volto aki pra pedir um help...agora to fazendo a evento.asp que trabalhará principalmente com a tabela eventos, q tem os seguintes campos.- id, nome, local, data, descricao, id_organizadorE trabalhará também com a tabela membros, que tem como principais campos:- id, nome, apelido, descricaoPois bem, note que há campos de mesmo nome em ambas tabelas, pois bem...Estou listando um evento, o de id nº2, da tabela eventos né. (evento.asp?id=2) B) Então na tela deveria aparecer:data do evento, nome do evento, hora do evento, local do evento, organizador do evento e a descrição do evento.pois bem... como faria pra dar o recordset no nome e na descricao da tabela eventos? Ou seja, não quero mostrar o nome do membro e nem a descrição do membro, mas sim do evento.Tentei fazer rs("eventos.nome") e rs("eventos.descricao") mas não dá, preciso de ajuda. :blink: Qlqr coisa, icq 322840175.Por favor, me ajudem nesta parte... falta pouco. ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 [ GuTo ] Postado Outubro 13, 2003 Autor Denunciar Share Postado Outubro 13, 2003 Alouuuu...Vou resumir minha dúvida/problema:Consegui fazer um INNER JOIN de 2 Tables. Ele responde tudo sem erro, mas tem um problema: Nas 2 tables tenho campos repetidos: nome, descricao que não são comum. No Response.Write ele so pega de 1 table.Há alguma maneira deu especificar de qual tabela quero nome, sobre...? :blink: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 resopi Postado Outubro 14, 2003 Denunciar Share Postado Outubro 14, 2003 ola!! acho q já te respondo en outro tópico.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
[ GuTo ]
Olá galera
Não sei o q tá errado nessa merda...hehe...não sei mesmo...se alguém puder, me ajude...por favor...
ERRO
NOTICIA.ASP
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
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.