Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ao Fazer laço For(ASP vbScript), usei a propriedade Fields.Count para saber quantas linhas o Select me retornava, porém ao fazer um inner join não exibe todos os dados da Sintaxe, somente os 3 primeiros dados segue o código:
conexao="driver={SQL Server};" & _
"server=Maquina\SQLEXPRESS;" & _
"database=DB;" & _
"Uid=sa;" & _
"Pwd=xxxxxx;"
Function Criadatagrid
Set objConn = Server.CreateObject("ADODB.Connection")
Set objRS = Server.CreateObject("Adodb.Recordset")
objConn.Open conexao
strQuery="Select DB.dbo.Cursos.cdCurso, DB.dbo.Cursos.nmCursoEscolhido, DB.dbo.Cursos.vlCurso,DB.dbo.Categoria.nmCategoria from DB.dbo.Cursos INNER JOIN DB.dbo.Categoria on DB.dbo.Cursos.cdCategoria=DB.dbo.Categoria.cdCategoria order by nmCategoria OPTION(HASH JOIN)"
Set objRS = objConn.Execute(strQuery)
Total=objRS.Fields.count -1
For i=0 to Total
ID=objRS(0).value
Curso=objRS(1).value
Valor=objRS(2).value
Categoria=objRS(3).value
Response.write("Teste: "&ID&","&Curso&","&Valor&","&Categoria&"<br />")
objRS.movenext
next
end Function
Call Criadatagrid
No códgio **Total=objRS.Fields.count -1**, o retorno é 3, isto é, ele só me retorna o Total de linhas que contém na Tabela Categoria (dedução), o que ele deveria exibir é o total de linhas da sintaxe sql (Select/Inner Join) que no caso seria 14 linhas.
Gostaria de Saber se existe alguma maneira de contornar esse erro, ou se estou fazendo algo errado com a sintaxe sql (Select/Inner Join) e o código asp muito obrigado.
Caso venha interessar coloco abaixo o conteúdo das Tabelas:
>
Tabela DB.dbo.Cursos -> cdCurso,cdCategoria, nmCursoEscolhido, vlCurso
01 ,1 , Curso Teste 01 , 450
02 ,2 , Curso Teste 02 , 250
03 ,1 , Curso Teste 03 , 860
04 ,1 , Curso Teste 04 , 342
05 ,1 , Curso Teste 05 , 752
06 ,3 , Curso Teste 06 , 586
07 ,4 , Curso Teste 07 , 125
08 ,4 , Curso Teste 08 , 453
09 ,4 , Curso Teste 09 , 789
10 ,3 , Curso Teste 10 , 987
11 ,3 , Curso Teste 11 , 123
12 ,2 , Curso Teste 12 , 321
13 ,2 , Curso Teste 13 , 654
14 ,2 , Curso Teste 14 , 147
15 ,4 , Curso Teste 15 , 852
Tabela DB.dbo.Categoria -> cdCategoria, nmCategoria
1 , Extensão
2 , Aperfeiçoamento
3 , Graduação
4 , Pos-Graduação
Se possivel moderadores, arrumar cabeçalho do Post para:
Propriedade Fields.Count não funciona com Sintaxe SQL inner join Muito obrigado.
Carregando comentários...