Ir para conteúdo

POWERED BY:

Arquivado

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

TeixeiraRamos

[Resolvido] Duas SQL em uma pagina asp

Recommended Posts

Por favor, tenho uma página em asp.

Nessa jé tenho funcionando corretamente a conexão da tb_repetidoras com os campos sendo amostrados.

Dessa mesma tabela e banco de dados desejo criar uma outra tabela na mesma página ".asp"

O codigo atual que tem a conexão para uma tabela é:

<%

constring="provider=microsoft.JET.OLEDB.4.0;Data Source=" & Server.MapPath("dados/assuntosgerais.mdb")

 

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

conexao.open constring

 

'crio o rs

set rs=Server.CreateObject("ADODB.Recordset")

 

'crio o SQL

SQL="SELECT * FROM tb_repetidoras"

rs.open SQL,conexao,1,3

%>

 

A tabela que crei na página não usei todos os campos da tb_repetidoras. Agora criei uma consulta no Access de um campo e desejo que eles fiquem em uma tabela na pagina asp.

 

Antes de iniciar as <tr> e <th> tem:

<%while not rs.eof%>

 

Para nova tabela que vou construir na mesma página o que devo colocar? Fica dentro do <% %> onde já existe uma SQL?

 

A SQL criada no access de uma consulta pode ser copiado o código e colocar dentro <% %> ?

SELECT tb_repetidoras.nome_cidade, Count(tb_repetidoras.nome_cidade) AS conta_nome

FROM tb_repetidoras

GROUP BY tb_repetidoras.nome_cidade

ORDER BY Count(tb_repetidoras.nome_cidade) DESC;

 

Esse SQL pode ser copiada e colocada dentro do <% %>? Não existe diferença desse SQL para o SQL usado no código asp?

Muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode colocar outro objeto recordset com outra string SQL, detalhe com nomes diferentes

 

crio o SQL
SQL="SELECT * FROM tb_repetidoras"
rs.open SQL,conexao,1,3

crio o SQL2
SQL2="SELECT * FROM tb_repetidoras"
rs2.open SQL2,conexao,1,3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas com relação a SQL que criei na caonsulta do Access posso coloca-lá no código?

 

Mantenho isso?

<%while not rs.eof%>

 

E isso?

 

<% rs.movenext

wend

Set rs=nothing

Set conexao=nothing

%>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com relação a SQL copiada da consulta do Access já constatei que não deve ser possível.

Copiei o SQL do Access e deu erro a página toda não abre apresenta o erro:

SQL2="SELECT tb_repetidoras.nome_cidade, Count(tb_repetidoras.nome_cidade) AS conta_nome

 

Todo o código SQL com a com o outro recordset e com outra string rs2 e SQL2 todo é:

<%

constring="provider=microsoft.JET.OLEDB.4.0;Data Source=" & Server.MapPath("dados/assuntosgerais.mdb")

 

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

conexao.open constring

 

'crio o rs

set rs=Server.CreateObject("ADODB.Recordset")

 

'crio o SQL

SQL="SELECT * FROM tb_repetidoras"

rs.open SQL,conexao,1,3

 

'crio o rs2

set rs2=Server.CreateObject("ADODB.Recordset")

 

'crio o SQL2

SQL2="SELECT tb_repetidoras.nome_cidade, Count(tb_repetidoras.nome_cidade) AS conta_nome FROM tb_repetidoras

GROUP BY tb_repetidoras.nome_cidade

ORDER BY Count(tb_repetidoras.nome_cidade) DESC"

rs2.open SQL2,conexao,1,3

 

%>

 

Tem alguma coisa na SQL2 copiada do Access da consulta. Correto?

O SQL não pode ser copiado da consulta direta para o código?

Compartilhar este post


Link para o post
Compartilhar em outros sites

precisa eliminar as quebras de linhas ou pelo menos concatenar a string em uma variavel antes senão vai dar erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema está na quebra de linha da SQL.

Coloquei o SQL em uma linha só e rodou legal.

Agora como marca para quebrar? já usei _ não funcionou usei &' não funcionou.

Não lembro o que devo colocar para quebrar a linha do SQL.

Desculpe, se tiver que postar no fotum SQL eu posto:

 

SQL="SELECT tb_repetidoras.nome_cidade, Count(tb_repetidoras.nome_cidade)

AS conta_nome FROM tb_repetidoras GROUP BY tb_repetidoras.nome_cidade ORDER BY

Count(tb_repetidoras.nome_cidade) DESC"

rs.open SQL,conexao,1,3

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

se deseja mesmo usar as quebras precisa mostrar isso use & _ em cada linha com continuação e feche os delimitadores de string

 

SQL="SELECT tb_repetidoras.nome_cidade, Count(tb_repetidoras.nome_cidade) " & _
"AS conta_nome FROM tb_repetidoras GROUP BY tb_repetidoras.nome_cidade ORDER BY " & _
"Count(tb_repetidoras.nome_cidade) DESC"

Veja se é isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza, amigo, qualquer coisa posta ae..

Compartilhar este post


Link para o post
Compartilhar em outros sites

xanburzum,

Postei no forum SQL pois não funcionou. Obrigado pelo apoio.

Estou com a página parada faltando isso. Já digitei no bloco de notas todo o código mas a SQL grande não permite abrir a página.

Mudar a SQL?

 

Convem ficar registrado já que está aqui.

 

"Postou Hoje, 14:28

Desculpe mas estou confuso.

Pode usar "&_ para quebrar as linha, não pode, tem que alterar QSL.

A QSL abre legal.

O problema é que uso o DW (sei que tem gemente que orienta para não usar no início) mas só sei que ao abrir aparece erro devido a SQL não ser quebrada. Muito obrigado."

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu uso, uma string SQL , de certa forma grande, e não quebrei ela

 

SQLinsert="INSERT INTO pesquisa(unidade,curso,micro,acesso,onde,tecnologia,finalidade,trabalha,cargo,escolaridade,renda) 
values('"&varunidade&"','"&varcurso&"','"&varmicro&"','"&varacesso&"','"&varonde&"','"&vartecnologia&"','"&varfinalidade&"','"&
vartrabalha&"','"&varcargo&"','"&varescolaridade&"','"&varrenda&"')"

 

digitei assim...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por que no início tudo é mais complido?

 

SQL

'crio o SQL3

SQL3="SELECT tb_repetidoras.nome_cidade, tb_repetidoras.observacao_rep, Count(tb_repetidoras.observacao_rep)" &

"AS ContaFora_ar FROM tb_repetidoras"&

"GROUP BY tb_repetidoras.nome_cidade, tb_repetidoras.observacao_rep HAVING(((tb_repetidoras.observacao_rep)="Fora do ar"))"&

"ORDER BY tb_repetidoras.nome_cidade"

rs3.open SQL3,conexao,1,3

 

 

Agora, por favor, veja a pagina ao abrir para mostrar a tabela:

 

Informações técnicas (para a equipe de suporte)

 

* Tipo de erro:

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

Erro de sintaxe

/meu novo site/radioamadorrepetidoras.asp, line 38, column 111

SQL3="SELECT tb_repetidoras.nome_cidade, tb_repetidoras.observacao_rep, Count(tb_repetidoras.observacao_rep)" &

--------------------------------------------------------------------------------------------------------------^

 

A unica coisa que não coloquei diferente da orintação anterior foi no final de ca linha depois & colocar _

Mas masmo colocando _ não abre a página seja indicando _ no final de cada linha:

 

'crio o SQL3

SQL3="SELECT tb_repetidoras.nome_cidade, tb_repetidoras.observacao_rep, Count(tb_repetidoras.observacao_rep)" &_

"AS ContaFora_ar FROM tb_repetidoras"&_

"GROUP BY tb_repetidoras.nome_cidade, tb_repetidoras.observacao_rep HAVING(((tb_repetidoras.observacao_rep)="Fora do ar"))"&_

"ORDER BY tb_repetidoras.nome_cidade"

rs3.open SQL3,conexao,1,3

 

 

Mensagem de erro ao abrir:

Informações técnicas (para a equipe de suporte)

 

* Tipo de erro:

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

Fim da instrução esperado

/meu novo site/radioamadorrepetidoras.asp, line 40, column 109

"GROUP BY tb_repetidoras.nome_cidade, tb_repetidoras.observacao_rep HAVING(((tb_repetidoras.observacao_rep)="Fora do ar"))"&_

------------------------------------------------------------------------------------------------------------^

 

 

Devo está errado em colocar isso aqui. Desculpe mas não sei mover para o forum SQL.

La ainda não foi respondido.

Obrigado e desculpe xanburzum.

Como devo digitar essa QSL meu Deus.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

response.write(SQL)
response.end()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não consegui entender.

Por favor o que existe na minha SQL?

É o primeiro trabalho.

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz assim:

'crio o SQL3
SQL3="SELECT tb_repetidoras.nome_cidade, tb_repetidoras.observacao_rep, Count(tb_repetidoras.observacao_rep)" &_
"AS ContaFora_ar FROM tb_repetidoras"&_
"GROUP BY tb_repetidoras.nome_cidade, tb_repetidoras.observacao_rep HAVING(((tb_repetidoras.observacao_rep)="Fora do ar"))"&_
"ORDER BY tb_repetidoras.nome_cidade"
rs3.open SQL3,conexao,1,3
response.write(SQL)
response.end()


e veja o que esta sendo passado na sua consulta

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por favor, eu digitei isso:

 

'crio o rs3

set rs3=Server.CreateObject("ADODB.Recordset")

 

'crio o SQL3

SQL3="SELECT tb_repetidoras.nome_cidade, tb_repetidoras.observacao_rep, Count(tb_repetidoras.observacao_rep)"&_

"AS ContaFora_ar FROM tb_repetidoras" &_

"GROUP BY tb_repetidoras.nome_cidade, tb_repetidoras.observacao_rep HAVING(((tb_repetidoras.observacao_rep)="Fora do ar")) ORDER BY tb_repetidoras.nome_cidade"

rs3.open SQL3,conexao,1,3

response.write(SQL)

()response.end()

 

 

 

 

E gerou isso:

Informações técnicas (para a equipe de suporte)

 

* Tipo de erro:

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

Fim da instrução esperado

/meu novo site/radioamadorrepetidoras.asp, line 40, column 109

"GROUP BY tb_repetidoras.nome_cidade, tb_repetidoras.observacao_rep HAVING(((tb_repetidoras.observacao_rep)="Fora do ar")) ORDER BY tb_repetidoras.nome_cidade"

------------------------------------------------------------------------------------------------------------^

 

 

Não tem cabimento.

Qual é a diferença?

Compartilhar este post


Link para o post
Compartilhar em outros sites

reveja sua string SQL, esta com erro de sintaxe

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já fiz revisão em todo o código e não viu erro.

A string rs2 esta dando esse problema depois de abrir a mesma a tabela abriu normalmente:

Todas as string no asp:

<%

constring="provider=microsoft.JET.OLEDB.4.0;Data Source=" & Server.MapPath("dados/assuntosgerais.mdb")

 

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

conexao.open constring

 

'crio o rs

set rs=Server.CreateObject("ADODB.Recordset")

 

'crio o SQL

SQL="SELECT * FROM tb_repetidoras"

rs.open SQL,conexao,1,3

 

'crio o rs2

set rs2=Server.CreateObject("ADODB.Recordset")

 

'crio o SQL2

SQL2="SELECT tb_repetidoras.nome_cidade, Count(tb_repetidoras.nome_cidade) AS conta_nome FROM tb_repetidoras GROUP BY tb_repetidoras.nome_cidade ORDER BY Count(tb_repetidoras.nome_cidade) DESC"

rs2.open SQL2,conexao,1,3

 

'crio o rs3t

set rs3t=Server.CreateObject("ADODB.Recordset")

 

'crio o SQL3t

SQL3t="SELECT Sum(qry_conta_por_cidades.conta_nome) AS SomaCidades FROM qry_conta_por_cidades"

rs3t.open SQL3t,conexao,1,3

 

'crio o rs3

set rs3=Server.CreateObject("ADODB.Recordset")

 

'crio o SQL3

SQL3="SELECT tb_repetidoras.nome_cidade, tb_repetidoras.observacao_rep, Count(tb_repetidoras.observacao_rep)"&_

"AS ContaFora_ar FROM tb_repetidoras" &_

"GROUP BY tb_repetidoras.nome_cidade, tb_repetidoras.observacao_rep HAVING(((tb_repetidoras.observacao_rep)="Fora do ar"))ORDER BY tb_repetidoras.nome_cidade"

rs3.open SQL3,conexao,1,3

response.write(SQL)

()response.end()

 

%>

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já fiz revisão em todo o código e não viu erro.

A string rs2 esta dando esse problema depois de abrir a mesma a tabela abriu normalmente:

Todas as string no asp:

 

<%

constring="provider=microsoft.JET.OLEDB.4.0;Data Source=" & Server.MapPath("dados/assuntosgerais.mdb")

 

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

conexao.open constring

 

'crio o rs

set rs=Server.CreateObject("ADODB.Recordset")

 

'crio o SQL

SQL="SELECT * FROM tb_repetidoras"

rs.open SQL,conexao,1,3

 

'crio o rs2

set rs2=Server.CreateObject("ADODB.Recordset")

 

'crio o SQL2

SQL2="SELECT tb_repetidoras.nome_cidade, Count(tb_repetidoras.nome_cidade) AS conta_nome FROM tb_repetidoras GROUP BY tb_repetidoras.nome_cidade ORDER BY Count(tb_repetidoras.nome_cidade) DESC"

rs2.open SQL2,conexao,1,3

 

'crio o rs3t

set rs3t=Server.CreateObject("ADODB.Recordset")

 

'crio o SQL3t

SQL3t="SELECT Sum(qry_conta_por_cidades.conta_nome) AS SomaCidades FROM qry_conta_por_cidades"

rs3t.open SQL3t,conexao,1,3

 

'crio o rs3

set rs3=Server.CreateObject("ADODB.Recordset")

 

'crio o SQL3

SQL3="SELECT tb_repetidoras.nome_cidade, tb_repetidoras.observacao_rep, Count(tb_repetidoras.observacao_rep)"&_

"AS ContaFora_ar FROM tb_repetidoras" &_

"GROUP BY tb_repetidoras.nome_cidade, tb_repetidoras.observacao_rep HAVING(((tb_repetidoras.observacao_rep)="Fora do ar"))ORDER BY tb_repetidoras.nome_cidade"

rs3.open SQL3,conexao,1,3

response.write(SQL)

()response.end()

 

%>

 

 

 

 

Boa noite a todos...

Primeiramente, sou contra a usar o &_ no final de cada linha...

Não sei porque, mas não me apetece... :P

 

Agora...

Eu tava lendo sua consulta...

 

SQL3="SELECT tb_repetidoras.nome_cidade, tb_repetidoras.observacao_rep, Count(tb_repetidoras.observacao_rep)"&_
"AS ContaFora_ar FROM tb_repetidoras" &_
"GROUP BY tb_repetidoras.nome_cidade, tb_repetidoras.observacao_rep HAVING(((tb_repetidoras.observacao_rep)="Fora do ar"))ORDER BY tb_repetidoras.nome_cidade"

Troca o "Fora do ar" por 'Fora do ar' e veja se funciona.

Ah... Acredito que o Order By precisa ter um espaço antes dele e depois do ")".

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

se for executar todas, depois feche o obj recordset

e verifiue se nao esta passando nenhum valor texto para um campo numérico, ou vice-versa, veja se os tipos estão corretos.

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.