FINDFIRST - MYSQL
BOA TARDE
ESTOU MIGRANDO MEU SISTEMA DE ACCESS PARA MYSQL
E ESTOU SENTINDO A SEGUINTE DIFICULDADE
NO ACCESS EU USAVA MTO O FINDFIRST - FINDNEXT
EXEMPLO:
REC.FINDFIRST [Ô]CODIGO = 1[Ô]
DO WHILE NOT REC.NOMATCH
...
REC.FINDNEXT [Ô]CODIGO =2[Ô]
LOOP
COMO QUE EU FAÇO ISSO NO MYSQL?
OBRIGADO
ESTOU MIGRANDO MEU SISTEMA DE ACCESS PARA MYSQL
E ESTOU SENTINDO A SEGUINTE DIFICULDADE
NO ACCESS EU USAVA MTO O FINDFIRST - FINDNEXT
EXEMPLO:
REC.FINDFIRST [Ô]CODIGO = 1[Ô]
DO WHILE NOT REC.NOMATCH
...
REC.FINDNEXT [Ô]CODIGO =2[Ô]
LOOP
COMO QUE EU FAÇO ISSO NO MYSQL?
OBRIGADO
não use mais este tipo de consulta use sempre querys veja
Set RS = CNN. Execute([Ô]select * from suatabela where codigo = 1[Ô])
Do While Not RS.EOF
List1.AddItem RS!nome
RS.MoveNext
Loop
Qual a desvantagem de se usar o find? Algumas vezs quando estou pessando linha por linha meu sistema noto uma demora, éessa a desvantagem?
PS: no mysql voce faz assim
ds.movefirst
ds.find [Ô]codigo = 1[Ô]
PS: no mysql voce faz assim
ds.movefirst
ds.find [Ô]codigo = 1[Ô]
colega o findsirst, findnext são do quase exinto DAO, ja vi varias discuções a respeito do uso de DAO e ADO, quando o ADO é a conexão atual usada comumente em SGBDS mais robustos como MYSQL, SQLSERVER, FIREBIRD, em aplicações pequenas usando um ACCESS da vida, o DAO se mostra um pouco mais eficiente, mas com um banco de dados bem estruturado, vc terá um otimo desempenho usando ADO, estabilidade e confiabilidade, principalmente quando o banco atinger um tamanho significativo, o que não acontece com as tecnologias mais antigas(DAO com access), porém esta discução aqui no forum seria muito ampla com diversos pontos de vista, então minha sugestão final é: use ADO com QUERYS, mesmo que o desempenho seja MILIONÈSIMOS DE SEGUNDOS mais devagar, ainda assim vale a pena.
maravilha gente, mto obrigado
deu certissimo
deu certissimo
agora tenho uma outra duvida qto ao mysql
no access eu usava sql assim:
SELECT * from tabela where tabela.data > data();
ou senao
SELECT DateDiff([Ô]d[Ô],[DATAVENCTO],Date()) FROM tabela;
Mas no mysql nao consegui fazer funcionar nem o DATA() nem O DATEDIFF
como devo fazer?
no access eu usava sql assim:
SELECT * from tabela where tabela.data > data();
ou senao
SELECT DateDiff([Ô]d[Ô],[DATAVENCTO],Date()) FROM tabela;
Mas no mysql nao consegui fazer funcionar nem o DATA() nem O DATEDIFF
como devo fazer?
Certo Marcelo, obrigado pela explicação.
Eu mesmo deixei de usar o find em todas as buscas, acho mais seguro tambem a query.
e SARGIOTTO, nao esqueça de pontuar quem mais lhe ajudou
Eu mesmo deixei de usar o find em todas as buscas, acho mais seguro tambem a query.
e SARGIOTTO, nao esqueça de pontuar quem mais lhe ajudou
maravilha, e como eu uso o DATEDIFF?
seria assim
SELECT DATEDIFF(DATAVENCTO,CURDATE) FROM tabela
Tópico encerrado , respostas não são mais permitidas