Ir para conteúdo

POWERED BY:

Arquivado

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

Deam

[Resolvido] Menu ASP com Banco de dados

Recommended Posts

Pessoal, sou novo no fórun assim como na programação ASP, estou engatinhando e meio que ctrl+C/V apanhnaod um pouco.

Então desde já peço desculpas caso seja fácil tal problema.

 

Tenho um banco .mdb que possui várias tabelas, eu queria fazer um menu "inteligente"

 

Exemplo menu.asp informa o total de registros na tabela e linka para o usuário acessar tal divisão (A,B ou C) no caso.

 

Produto

 

A(223)

B(345)

C(221)

 

O problema é que consigo fazer isso com o total chamando com o <%=objRS.recordCount%> que pega o valor de registros do banco.

 

 

Tenho o seguinte;

 

<%
Set DB= server.createobject("adodb.connection")
constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=i:\dados\banco.mdb"
DB.Open constr
Set objRS = Server.CreateObject("ADODB.Recordset") 
%>

Se alguém puder me ajudar com uma dica ou link para estudo, fico agradecido.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim,

 

Cada uma das tabelas no caso A,B e C são de tipos diferentes de produtos, onde cada uma é independente, porém queria fazer um menu e uma página separada que tivesse o link, que no caso é simples <a href="a.asp">A</a> mas eu gostaria de ao lado de cada link estivesse um contador de registro, indicando qtas informações existem em cada um dos produtos no caso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Augusto, antes de tudo obrigado pela ajuda amigo,

 

O meu problema é fazer, pois cheguei a um ponto onde travou a minha idéia e conhecimento, não consigo pensar em nada mesmo, to mais de uma semana vendo como fazer isso, pq fiz isso e aquilo e nada, parei mesmo e agora queria uma luz como fazer uma chamada no banco total e mostrar o total de registro de cada um deles, um exemplo é em vários sites de sripts que você observa os menus assim

Exemplo

 

Asp (657)

ASP .Net (18)

C/C++ (153)

Cgi (344)

Cold Fusion (40)

Delphi (740)

Dhtml (123)

Flash (613)

Java Applet (104)

Java Script (1484)

JSP (36)

PHP (891)

Python (62)

VB Script (42)

Visual Basic (845)

WML (43)

XML (19)

 

 

Motra o total de cada um e qdo clicar em ASP por exemplo você tem;

 

Escolha uma categoria:

Bate-Papo

41 scripts

 

Calendários

14 scripts

 

Contadores

36 scripts

 

Data e Hora

16 scripts

 

Enquetes

23 scripts

 

Estatísticas

25 scripts

 

Formulários

43 scripts

 

Fórum

30 scripts

 

Listas de E-mail

33 scripts

 

Livro de Visita

25 scripts

Segurança

36 scripts

 

Sistema de Banner

21 scripts

 

Sistema de Busca

37 scripts

 

Vários

277 scripts

 

 

Sendo assim nesse caso ele mostra a categoria ASP(com o total global) e dentro dela as subcategorias(total individual)

 

Novamente muito obrigado, mas qqer luz me ajuda um pouco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah sim entendi

 

use assim:

 

<%
Set DB= server.createobject("adodb.connection")
constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=i:\dados\banco.mdb"
DB.Open constr
Set A = Server.CreateObject("ADODB.Recordset")
sql_a = "select * from a"
a.open sql_a,DB
regs_a = A.RecordCount
a.close
response.write "A ("&regs_a*" scripts)"
%>

faça isso para todas as tabelas.

 

Espero ter ajudado =D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, eu demorei a dar um feedback pois estava tentado adaptar aqui.

ele retornou o seguinte erro:

 

_________________________________________________________________

Active Server Pages error 'ASP 0138'

 

Nested Script Block

 

a.asp, line 324

 

A script block cannot be placed inside another script block.

_________________________________________________________________

 

Fiz algo ou deixei de colocar alguma coisa? estou tentando com uma tabela primeiro para depois colocar as outras.

 

Seguinte,

 

Refiz tudo, deixando apenas o código que você me ajudou:

<%
Set DB= server.createobject("adodb.connection")
constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=i:\Dados\banco.mdb"
DB.Open constr
Set A = Server.CreateObject("ADODB.Recordset")
sql_a = "select * from a"
a.open sql_a,DB
regs_a = A.RecordCount
a.close
response.write "A ("&regs_a*" )"
%>

 <%= a%>  
    
<%
DB.Close
Set requerimentos = Nothing
%>

 

Mas ele volta o seguinte erro:

 

Microsoft VBScript runtime error '800a000d'

 

Type mismatch: '[string: " scripts)"]'

 

/menu.asp, line 161

 

Fiquei meio perdido, pois era p ele voltar o valor independente de qqer coisa.

correto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Augusto,

 

To quase conseguindo chegar ao objetivo, fiz umas mudanças onde me deram um resultado (positivo).

<%
Set DB= server.createobject("adodb.connection")
constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=i:\Dados\banco.mdb"
DB.Open constr
Set A = Server.CreateObject("ADODB.Recordset")
sql_a = "select * from a"
a.open sql_a,DB
regs_a = A.RecordCount
a.close
 response.write "A ("&regs_a&" )"
%>
<%
'extra
On Error Resume Next
%>
<%
'extra
If Request.Form("C605") = "" then
msg_var = "Variavel Vazia"
Else
msg_var = Request.Form("C605")
End If
%>
<br/>
Resultado <%= msg_var %>
    
<%
DB.Close
Set a = Nothing
%>
_____________________________

 

Pensei no seguinte, se caso não tiver nenhum registro ele me devolve o valor 0 (vazio) mas nesse caso deu negativo ^^ fora isso assim dentro da tabela A tem uma coluna a qual está o cadastro dos nomes que eu gostaria que fosse contado os registros (coluna nome)

 

Poxa amigo, muito, mas muito obrigado mesmo pela ajuda, com essas dicas e novos erros acabei aprendendo mais coisas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

existem exemplos no fórum sobre isso, e você pode usar direto a cláusula COUNT do SQL, A função COUNT retorna o número de linhas em uma consulta, fica mais rápido...

 

SELECT COUNT(expression)
FROM tables
WHERE predicates;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal acredito estar qse lá, o que me falta é como fazer a consulta de uma coluna dentro dessa tabela, que no caso irei repetir o procedimento depois com as demais colunas.

xanburzum estive estudando vários exemplos citados por você aqui no forum, mas pelo que entendi todos vinham de uma unica tabela, onde me perdi, pois no meu caso aqui tenho um banco com varias tabelas e nelas algumas colunas, sendo que meu objetivo é:

 

produto

A(445) | Onde A é a tabela e 445 é o total de registros de uma determinada coluna desta tabela

B(333).. | Onde B é a tabela e 333 é o total de registros de uma determinada coluna desta tabela

 

Dai o caso que esses deveriam estar em uma unica página que no caso chamo de menu.asp, até agora cheguei a contagem de resultado porem com uma tabela somente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido, consegui fazer uma adaptação e estou postando para caso exista alguma dúvida de outro colega.

 

<%
Set DB= server.createobject("adodb.connection")
constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=i:\Dados\banco.mdb"
DB.Open constr
Set A = Server.CreateObject("ADODB.Recordset")
A.CursorType = 0
A.CursorLocation = 3
A.LockType = 3 
sql_a = "select * from tabela 1 WHERE coluna 1"
a.open sql_a,DB
regs_a = A.RecordCount
a.close

Set B = Server.CreateObject("ADODB.Recordset")
B.CursorType = 0
B.CursorLocation = 3
B.LockType = 3 
sql_b = "select * from tabela 2 WHERE coluna 2"
B.open sql_b,DB
regs_b = B.RecordCount
B.close

%>

tabela 1 <%= regs_b %><br>
tabela 2 <%= regs_a %>

<%
DB.Close
Set DB = Nothing

%>

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.