dbExpress e o quot;BUG TALVEZquot;- A Saga Continua..

Delphi

04/04/2003

Sempre que coloco algum parâmetro em Comandtext, tenho problemas de latência.

Ex.: Select Clientes.nome, Clientes.Cnpj
From Clientes
Where Clientes.Nome Like :nome

Passando o valor parâmetro, da forma que segue:

Sql.Close;
Sql.Params[0].AsString:=´Mar¬´;
Sql.Open;

O resultado é sofrível, mesmo com existência de índice para o campo nome.

Agora, quando monto a instrução(abaixo) e a atribuo para a propriedade CommandText, tudo ocorre com velocidade estupenda.

Ex.:

Sql.Close;
Sql.CommandText:=´Select Clientes.nome, Clientes.Cnpj ´+
´ From Clientes Where Clientes.Nome Like ´+ ´´´´ + ´Mar¬´ + ´´´´
Sql.Open;

Caros amigos seria BUG ou outra coisa?

Em tempo: Na última vez que coloquei esta questão, fui, talvez, mau entendido. Quero afirmar que não é problema do uso de Like no select, já que para qualquer campo que tenha índice, isto ocorre. Inclusive para chave-primária.

Caros amigos isto é muito GRAVE.
Por favor atentem para isto.

Em Tempo 2: Na última tentativa de me atenderem, que agradeço, me parece que a turma não esta entendendo. Não há erro na forma de passar o parâmetro, nem adianta tambem, trocar SQLDataSet por outro DataSet qualquer. O problema é o uso de parâmetro em contra partida a atribuição do SQL (string) a propriedade CommandText.

Obrigado outra vez.


Anonymous

Anonymous

Curtidas 0

Respostas

Feliperodrigues

Feliperodrigues

04/04/2003

Tive esse mesmo problema com ADO mas acredito que a solução é a mesma.

Nesse seu comando por exemplo tenta usar assim:
Sql.Params[0].AsString:=´¬´ + ´Mar´ + ´¬´;


Espero ter ajudado.. e qualquer coisa pergunta denovo! :lol:


GOSTEI 0
Anonymous

Anonymous

04/04/2003

Faça assim sempre que trabalhar com parametros string na SQL

Sql.Params[0].AsString:=´´´ + ´Mar´ + ´¬´´;

as Aspas Duplas dentro da Asp delimita a String,

isso deve resolver seu problema


GOSTEI 0
POSTAR