Usuário com melhor resposta
Windows XP x SQL Server 2005

Pergunta
-
Ola amigos.
Estou com um problema serio.
Desenvolvi um programa em VB6 e uso o Windows XP SP2 com a base Access 2000. Ele roda beleza. Agora mudei para o SQL Server 2005. Crie as tabelas com indices igual eu tinha no access.... Agora apareceu um probleminha que ja fundi a cuca e não consigo ver onde esta o problema.
É o seguinte:
Tenho varios registros com um campo de data que preciso selecionar um de cada.
sql= "Select Distinct year(DataInc) from Tabela Order by DataInc"
agora é que vem...
se eu conectar no access, ele funciona redondo... mas se estiver conectado no sql2005, ele roda e diz que nao encontrou nenhum registro.
No meu programa tenho varias telas para aplicaçoes diferentes e ele so nao roda onde tem o tal "Distinct".... inclusive, fiz um aplicativo so para abrir o sql 2005 chamando a tabela e rodando o sql acima.... rodou e encontrou 1 reg. em 4000.... ai funcionou... alguem pode me dar uma luz???...
Desde ja agradeço.
Obs. Ja tentei fazer de varias maneiras conforme li em forums... mas nada adiantou...
att,
Jorge Andrade
Respostas
-
Bom dia a todos do Forum....
Consegui resolver a questão...
Obrigado a todos que contribuiram...
Resposta:
o SQL por default usa:
erro: CN.CursorLocation=adUseServer
(Isto significa que o SqlServer usa o seu metodo de pesquisa e ignora o DISTINCT, GROUP)
correto: CN.CursorLocation=adUseClient
(O SqlServer pesquisa conforme o programa manda a string...)
Foi só trocar e o programa rodou corretamente.
Att,
Jorge Andrade
- Marcado como Resposta JorgeAndrade terça-feira, 28 de maio de 2013 13:39
Todas as Respostas
-
Jorge, a coluna dataInc é do tipo de dados de data (datetime, smalldatetime, etc) ou é um varchar ?
faça um teste mudando o order by com a mesma sintaxe que voce usa no select:
Select Distinct year(DataInc) from Tabela Order by year(DataInc)
Alexandre Matayosi Conde Mauricio.
-
Bom dia Alexandre,
Ja tentei de todas as formas e com todos os tipos de dados e nao obtive o resultado.. .. nem mensagem de erro ele retorna... apenas coloquei uma msgbox que me retorna ("nunhum registro encontrado")....
Estou usando o SQLEXPRESS (SQL Server 9.0.5000) e quando vou desligar o notebook fica HOTFIX prezo na memoria... ainda nao consegui localizar uma atualização para esta versao.... mas acho que o problema esta ai.....
Obrigado por sua atenção.....
Att, Jorge Andrade
-
-
Bom dia a todos do Forum....
Consegui resolver a questão...
Obrigado a todos que contribuiram...
Resposta:
o SQL por default usa:
erro: CN.CursorLocation=adUseServer
(Isto significa que o SqlServer usa o seu metodo de pesquisa e ignora o DISTINCT, GROUP)
correto: CN.CursorLocation=adUseClient
(O SqlServer pesquisa conforme o programa manda a string...)
Foi só trocar e o programa rodou corretamente.
Att,
Jorge Andrade
- Marcado como Resposta JorgeAndrade terça-feira, 28 de maio de 2013 13:39