adoquery - não funciona em alguns micros com win98
Pessoal,
O código abaixo funciona corretamente em micros com xp, 2000, mas
com Win98 em algumas máquinas não.
DM.q1.Close;
DM.q1.SQL.Clear;
DM.q1.SQL.Add(´select p.codigo,p.nome,p.datanasc,´);
DM.q1.SQL.Add(´p.sexo,e.codp,e.registro,´);
DM.q1.SQL.Add(´e.dataexame´);
DM.q1.SQL.Add(´ from P,E´);
DM.q1.SQL.Add(´where p.codigo=e.codpaciente´);
DM.q1.SQL.Add(´and p.nome like ´´ + edtLocalizaNome.text + ´¬´ ´);
Descobri que a última linha do código é a fonte de erro. Já atualizei o MDAC,JET da microsoft nesta máquina mas não consigo fazer funcionar.
O que precisa ser corrigido?
Obrigado
O código abaixo funciona corretamente em micros com xp, 2000, mas
com Win98 em algumas máquinas não.
DM.q1.Close;
DM.q1.SQL.Clear;
DM.q1.SQL.Add(´select p.codigo,p.nome,p.datanasc,´);
DM.q1.SQL.Add(´p.sexo,e.codp,e.registro,´);
DM.q1.SQL.Add(´e.dataexame´);
DM.q1.SQL.Add(´ from P,E´);
DM.q1.SQL.Add(´where p.codigo=e.codpaciente´);
DM.q1.SQL.Add(´and p.nome like ´´ + edtLocalizaNome.text + ´¬´ ´);
Descobri que a última linha do código é a fonte de erro. Já atualizei o MDAC,JET da microsoft nesta máquina mas não consigo fazer funcionar.
O que precisa ser corrigido?
Obrigado
N1
Curtidas 0
Respostas
Bon Jovi
18/08/2004
Mas qual problema ocorre exatamente? Aparece alguma mensagem de erro? Qual banco, JetDb/´Access´ mesmo?
GOSTEI 0
N1
18/08/2004
Sendo mais especifico, tinha um try/except, retirando percebi que a linha
DM.q1.SQL.Add(´and p.nome like ´´ + edtLocalizaNome.text + ´¬´ ´);
é o problema, o usuário, ao colocar um dado para ser pesquisado e clicando no botão para acionar a adoquery retorna um grid vazio.
Aparece uma msg de erro E_FAIL.
Executando sem esta linha funciona normalmente em qualquer win98 que instalei,ie, o dbgrid é carregado normalmente, mas sem a filtragem.
Estou com adoconnection, ACCESS, Jet4.
DM.q1.SQL.Add(´and p.nome like ´´ + edtLocalizaNome.text + ´¬´ ´);
é o problema, o usuário, ao colocar um dado para ser pesquisado e clicando no botão para acionar a adoquery retorna um grid vazio.
Aparece uma msg de erro E_FAIL.
Executando sem esta linha funciona normalmente em qualquer win98 que instalei,ie, o dbgrid é carregado normalmente, mas sem a filtragem.
Estou com adoconnection, ACCESS, Jet4.
GOSTEI 0
Bon Jovi
18/08/2004
Tente mudar para:
DM.q1.SQL.Add(´AND P.NOME LIKE ´ + QuotedStr(edtLocalizaNome.text + ´¬´));
Deu um branco agora, nao sei se é * ou ¬ no Access...
DM.q1.SQL.Add(´AND P.NOME LIKE ´ + QuotedStr(edtLocalizaNome.text + ´*´));
DM.q1.SQL.Add(´AND P.NOME LIKE ´ + QuotedStr(edtLocalizaNome.text + ´¬´));
Deu um branco agora, nao sei se é * ou ¬ no Access...
DM.q1.SQL.Add(´AND P.NOME LIKE ´ + QuotedStr(edtLocalizaNome.text + ´*´));
GOSTEI 0
N1
18/08/2004
Bon Jovi
Testei sua dica mas não funcionou. Aparentemente é algo com o
Win98 daquela máquina. Alguma outra sugestão?
Testei sua dica mas não funcionou. Aparentemente é algo com o
Win98 daquela máquina. Alguma outra sugestão?
GOSTEI 0
Bon Jovi
18/08/2004
Nao sei mais o q pode ser, é um problema muito particular. Só vou te dar umas recomendações:
- Usar CursorLocation = clUseClient (que já é default)
- Preferir usar TADODataSet e TADOCommand ao invés de TADOQuery
- Usar CursorLocation = clUseClient (que já é default)
- Preferir usar TADODataSet e TADOCommand ao invés de TADOQuery
GOSTEI 0
N1
18/08/2004
Obrigado
GOSTEI 0