UDF - Alguem usa alguma regularmente?
Galera do bem, é o seguinte:
Alguém utiliza alguma UDF própria ou de terceiro no teus sistemas?
bom, vou tentar me explicar..
Eu fiz uma UDF com uma função que recebe 2 strings como parametro:
function Igualdade(ANomeBanco, ANomePesquisa : PChar): Double; cdecl; export;
a função faz simplesmente isso: compara os 2 nomes para ver se são iguais
´if String(ANomeBanco) = String(ANomePesquisa) then
Result := 100
else
Result := 0;´
Após declarada no banco, o modo de utilizar é
SELECT * FROM CLIENTES C
WHERE IGUALDADE(C.NOME,´NOME DESEJADO´) >= 100
meu banco tem cerca de 100mil nomes, e essa função demora cerca de 1 segundo pra retornar o resultado.
acontece que meu sistema roda em rede, se se algum usuario faz uma consulta desta, e um outro usuario tenta acessar outra parte do sistema, ambos travam com a mensagem ´lost conection do ibserver, unknown win32 error´
Gostaria de saber se alguem que utilize UDF´s em teus sistemas tem algum tipo de problema como esse.. Se eu não me expliquei bem eu posso ´clarear´ mais as coisas..
vlw galera
[]´s
Alguém utiliza alguma UDF própria ou de terceiro no teus sistemas?
bom, vou tentar me explicar..
Eu fiz uma UDF com uma função que recebe 2 strings como parametro:
function Igualdade(ANomeBanco, ANomePesquisa : PChar): Double; cdecl; export;
a função faz simplesmente isso: compara os 2 nomes para ver se são iguais
´if String(ANomeBanco) = String(ANomePesquisa) then
Result := 100
else
Result := 0;´
Após declarada no banco, o modo de utilizar é
SELECT * FROM CLIENTES C
WHERE IGUALDADE(C.NOME,´NOME DESEJADO´) >= 100
meu banco tem cerca de 100mil nomes, e essa função demora cerca de 1 segundo pra retornar o resultado.
acontece que meu sistema roda em rede, se se algum usuario faz uma consulta desta, e um outro usuario tenta acessar outra parte do sistema, ambos travam com a mensagem ´lost conection do ibserver, unknown win32 error´
Gostaria de saber se alguem que utilize UDF´s em teus sistemas tem algum tipo de problema como esse.. Se eu não me expliquei bem eu posso ´clarear´ mais as coisas..
vlw galera
[]´s
[spyk3r]
Curtidas 0
Respostas
Gandalf.nho
17/03/2004
Qual o diferencial dessa função? Pq não faz simplesmente
SELECT * FROM CLIENTES C
WHERE C.NOME = ´NOME DESEJADO´
SELECT * FROM CLIENTES C
WHERE C.NOME = ´NOME DESEJADO´
GOSTEI 0
[spyk3r]
17/03/2004
a função faz algumas verificações a mais, por exemplo:
no banco tem ´JOSE ANTONIO DA SILVA´
e vc procurou por ´JOSE DA SILVA´
a função retorna 100¬ se a menor string estiver dentro da maior, ou seja
banco: ´JOSE ANTONIO DA SILVA´
pesquisa ´JOSE DA SILVA´
ou
banco: ´JOSE DA SILVA´
pesquisa ´JOSE ANTONIO DA SILVA´
em ambos os casos a função retorna 100¬
eu só não quis complicar no tópico inicial..
mas ae, vc jah usou algum UDF em teus sistemas? ou fez alguma?
vlw again
no banco tem ´JOSE ANTONIO DA SILVA´
e vc procurou por ´JOSE DA SILVA´
a função retorna 100¬ se a menor string estiver dentro da maior, ou seja
banco: ´JOSE ANTONIO DA SILVA´
pesquisa ´JOSE DA SILVA´
ou
banco: ´JOSE DA SILVA´
pesquisa ´JOSE ANTONIO DA SILVA´
em ambos os casos a função retorna 100¬
eu só não quis complicar no tópico inicial..
mas ae, vc jah usou algum UDF em teus sistemas? ou fez alguma?
vlw again
GOSTEI 0
Gandalf.nho
17/03/2004
Eu uso UDFs sim, uma boa sugestão é pegar uma dessas biblioteca UDF prontas com fontes e olhar para ver como são feitas. Além disso, em 2 nº antigos da Revista Clube Delphi tinha um artigo de como fazer UDFs pro Interbase
GOSTEI 0
[spyk3r]
17/03/2004
eu sou assinante da clube delphi desde a n.º 18 e não estou localizando se em alguma delas tem algum assunto sobre UDF´S.. vc saberia qual n.º que tem?
[]´s
[]´s
GOSTEI 0
Gandalf.nho
17/03/2004
Foram os números 19 e 20 da revista.
GOSTEI 0