Fórum dbExpress e o quot;BUG TALVEZquot;- A Saga Continua.. #152158

04/04/2003

0

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

Responder

Posts

04/04/2003

Feliperodrigues

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:


Responder

Gostei + 0

05/04/2003

Anonymous

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar