Ir para conteúdo

Arquivado

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

lezão

Relacionamento de tabelas

Recommended Posts

Ola galera, boa noite!

 

estou com um codigo em asp pra fazer relacionamento entre tabelas do access, e estou perdidinho ...

 

peguei este codigo de um modelo mas naun estou conseguindo fazer rodar veja o codigo

 

codigo.asp

<!--#include file="Includes/Config.asp" -->
<!--#include file="Includes/ADOVBS.inc"-->
<%
Call AbreBanco

Dim VarClube
Dim VarAct
Dim VarAct2
Dim Jogadores
Dim Futebol
Dim VarPagina
Dim TotaldePaginas
Dim IntI
	
VarClube = Request("Clube")
VarAct2 = Request.QueryString("Act2")
Session("Endereco") = Request.ServerVariables("SCRIPT_NAME") &"?"& Request.ServerVariables("QUERY_STRING")

VarAct = Request.QueryString("Act")

If Request.QueryString("Pagina") = "" Then
	VarPagina = 1
	
Else

	VarPagina = Request.QueryString("Pagina")
	Select case VarAct
		Case "Anterior"
			VarPagina = VarPagina - 1
		Case "Proxima"
			VarPagina = VarPagina + 1
	End select
	
End If

Set Jogadores = Server.CreateObject("ADODB.RecordSet")
'Jogadores.CursorLocation = adUseClient
Jogadores.CursorType = adOpenStatic
Jogadores.CacheSize = TotalPorPagina

If VarAct2 = "" and VarClube <> "" and VarSubCategoria = "" Then

	Set Futebol = Banco.Execute("SELECT * FROM Futebol WHERE Cod LIKE '"& VarClube &"'")
	
	Jogadores.Open "SELECT * FROM Jogadores WHERE CodClube LIKE '"&VarClube&"' And Estoque > 0 AND Status = On ORDER BY Nome DESC", Banco, , , adCmdText
	
Elseif VarAct2 = "" and VarSubCategoria <> "" Then
	
	Set Futebol = Banco.Execute("SELECT * FROM Futebol WHERE Cod LIKE '"& VarClube &"'")
	
	Set SubCategoria = Banco.Execute("SELECT * FROM Jogadores WHERE Cod LIKE '"& Varnome &"'")
	
	Jogadores.Open "SELECT * FROM Jogadores WHERE CodClube LIKE '"& VarClube &"' And Estoque > 0 AND CodSubCategoria LIKE '"&VarSubCategoria&"' AND Status = On ORDER BY Nome DESC", Banco, , , adCmdText
	
Elseif VarAct2 = "Busca" and VarClube = "0" and VarBuscaTexto <> "" Then

	Jogadores.Open "SELECT * FROM Jogadores WHERE Nome LIKE '%"& VarBuscaTexto &"%' OR Descricao LIKE '%"& VarBuscaTexto &"%' AND Status = On And Gols > 0 ORDER BY Nome DESC", Banco, , , adCmdText

Elseif VarAct2 = "Busca" and VarBuscaTexto <> "" and VarClube <> "0" Then

	Set Futebol = Banco.Execute("SELECT * FROM Futebol WHERE Cod LIKE '"& VarClube &"'")
	
	Jogadores.Open "SELECT * FROM Jogadores WHERE CodClube LIKE '"& VarClube &"' AND Gols > 0 AND Nome LIKE '%"& VarBuscaTexto &"%' OR Descricao LIKE '"& VarBuscaTexto &"' AND Status = On ORDER BY Nome DESC", Banco, , , adCmdText

Elseif VarAct2 = "Busca" and VarBuscaTexto = "" Then

	Jogadores.Open "SELECT * FROM Jogadores WHERE CodClube LIKE '"& VarClube &"' And Gols > 0 AND Nome LIKE '%"& VarBuscaTexto &"%' OR Descricao LIKE '"& VarBuscaTexto &"' AND Status = On ORDER BY Nome DESC", Banco, , , adCmdText

ElseIf VarAct2 = "" and VarClube = "" and VarSubCategoria = "" Then

	Jogadores.Open "SELECT * FROM Jogadores Where nome > 0 ORDER BY Cod Desc", Banco, , , adCmdText

End If

%>

nos campos do banco de dados tenho as seguintes informações

 

Tabela Futebol

Cod
Clube
P
J
V
E
D
GP
GC
SG
TECNICO

Tabela Jogadores

Cod
CodClube
Nome
Gols
Cart_Am
Cart_Ver

esta dando este erro

Microsoft JET Database Engine error '80040e07'

Data type mismatch in criteria expression.

/public_html/colinaesporte/Clube.asp, line 74

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se o tipo de dados nos campos estão corretos. a importância de uma modelagem de dados bem definida até os mínimos detalhes, como os campos de relacionamentos, um velho ditado diz, que um relacionamento bem definido é a alma do aplicativo, pois daí saem todas as consultas e operações com o banco, influenciando diretamente na otimização e performance do aplicativo

Compartilhar este post


Link para o post
Compartilhar em outros sites

dei uma olhada nos campos e estaun todos corretos

 

o erro esta dando aki nessa parte

Jogadores.Open "SELECT * FROM Jogadores Where nome > 0 ORDER BY Cod Desc", Banco, , , adCmdText

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

dei uma olhada nos campos e estaun todos corretos

 

o erro esta dando aki nessa parte

Jogadores.Open "SELECT * FROM Jogadores Where nome > 0 ORDER BY Cod Desc", Banco, , , adCmdText

vc tem duas tabelas e precisa pegar informações de ambas é isso? vc tem que usar o inner join admito que pesquisei sobre mas nunca cheguei a colocar em pratica.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Rafael du Palio, boa noite!

Meu amigo eu fiz assim e naun rodou da erro!

Peguei esse codigo na net ...

sql = "SELECT Cod(s)FROM Futebol INNER JOIN Jogadores ON Futebol.Cod = Jogadores.Nome  "
rs.Open sql 
If rs.EOF Then
Response.Write "<center><font face=Verdana size=2><b>Nenhum registro encontrado!</b><br><br><a href=javascript:history.back(-1)><font face=Verdana, Arial, Helvetica, sans-serif size=1>Voltar</font></a> </center></font>"

Erro.asp

Microsoft JET Database Engine error '80040e14'

Undefined function 'Cod' in expression.

/public_html/colinaesporte/Clube2.asp, line 19

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Ola Rafael du Palio, boa noite!

Meu amigo eu fiz assim e naun rodou da erro!

Peguei esse codigo na net ...

sql = "SELECT Cod(s)FROM Futebol INNER JOIN Jogadores ON Futebol.Cod = Jogadores.Nome  "
rs.Open sql 
If rs.EOF Then
Response.Write "<center><font face=Verdana size=2><b>Nenhum registro encontrado!</b><br><br><a href=javascript:history.back(-1)><font face=Verdana, Arial, Helvetica, sans-serif size=1>Voltar</font></a> </center></font>"

Erro.asp

Microsoft JET Database Engine error '80040e14'

Undefined function 'Cod' in expression.

/public_html/colinaesporte/Clube2.asp, line 19

como falei antes nunca usei na pratica o inner join oque vc quer fazer é um select nas duas tabelas certo? para tal vc precisa de um campo em comum em ambas se nao me engano. amanha dou uma lida e te ajudo melhor. me fala oke vc ker fazer no final das contas sou leigo mas quem sabe vai ke consigo te ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que vc quer é cadastrar na sua tabela o nome do jogador a foto e o clube que a pessoa escolher? se for isso uma tabela só basta e no html vc usa a cx de seleção com o nome dos times.

no seu banco de dados ficaria assim:
Nome - foto - clube
rafael - imagem - Corinthians

lezao - imagem - santos

se for algo diferente explica te falei ke sou leigo e lerdo kkkk

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique a ortografia. pode ser um nome de coluna Invalido 'sua_coluna'. A coluna a qual você se refere na Base de Dados não foi encontrada. e também veja se os tipos de dados estão corretos

Compartilhar este post


Link para o post
Compartilhar em outros sites

tome cuidado com alguns desses cursos, eu falo pois já fiz alguns sites de aulas online para algumas empresas e quando vc vê o cronograma, ele tipos enchem linguiça... para poder estender o conteúdo programático. O correto é ver antes o cronograma

Compartilhar este post


Link para o post
Compartilhar em outros sites
Fernando você ja assinou os cursos da dev media? é bom? pensei em fazer a assinatura mas tem vigencia de 12meses fiquei com medo de ser ruim e ficar um ano pagando 69,90

 

Opa, Rafael.. sobre esses cursos.. não nunca fiz os pagos, então fico devendo..

Compartilhar este post


Link para o post
Compartilhar em outros sites

encontrei esse

<%

Call AbreBanco

Dim VarId
VarId = Request.QueryString("Id")

Session("Endereco") = Request.ServerVariables("SCRIPT_NAME") & "?" & Request.ServerVariables("QUERY_STRING")

Dim Atleta
Set Atleta = Banco.Execute("SELECT * FROM Jogador WHERE Id LIKE '"& VarAtleta &"'")

Dim Clube
Set Clube = Banco.Execute("SELECT * FROM Tabela WHERE Id LIKE '"& Clube("IdTabela") &"' ")

%>

da esse erro

Microsoft VBScript runtime error '800a000d'

Type mismatch

/public_html/colinaesporte/tabela/Clube.asp, line 20

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um response.write na sua string SQL, para ver o que esta sendo passado

Compartilhar este post


Link para o post
Compartilhar em outros sites

como vc esta executando a SQL através do objeto connection, seria melhor fazer assim:

 

 

‘cria o recordset

Set rs=Server.CreateObject(“ADODB.Recordset”)

SQL=”SELECT * FROM Jogador WHERE Id LIKE '"& VarAtleta &"'"

rs.open SQL,conexao,1,3

respone.write(atleta)

response.end()

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

como você esta executando a SQL através do objeto connection, seria melhor fazer assim:

 

 

‘cria o recordset

Set rs=Server.CreateObject(“ADODB.Recordset”)

SQL=”SELECT * FROM Jogador WHERE Id LIKE '"& VarAtleta &"'"

rs.open SQL,conexao,1,3

respone.write(atleta)

response.end()

 

xanbur tem como eu dar um response.write em mais de uma variavel?

 

Exe:.

var_cliente=request.form("cliente")

var_nome=request.form("nome")

 

response.write(var_cliente,var_nome)

response.end

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.