Fórum Duvida para montar um grid usando consulta SQL #243121

14/07/2004

0

Tenho um form de cadastro de cliente, e nesse form tenho um pagecontrol com um dbgrid onde consta toda a movimentação do cliente, pelo nome do cliente eu monto a query e mostro no grid:

qMensagensPedidas.ParamByName(´Nome´).AsString := dbNome.Text;

Eu consulto na tabela Pedidos e se houver algum pedido com o nome do atual cliente pesquisado no form de cadastro, ele é mostrado no grid.
Até aí tudo blz, só que eu preciso fazer essa pesquisa pelo CODIGO do cliente e não mais pelo nome, o código do cliente é um campo do tipo Integer, e está dando erro na hora de montar a query.
Alguém sabe pq? não é permitido usar parametros com campo do tipo Integer?

qMensagensPedidas.ParamByName(´Codigo´).AsInteger := dbCodigo.Text;

Dá erro nesse comando, ´Type mismatch in expression´.


Marco

Marco

Responder

Posts

14/07/2004

Paulo_amorim

qMensagensPedidas.ParamByName(´Codigo´).[b:81d9571ba3]AsInteger[/b:81d9571ba3] := dbCodigo.[b:81d9571ba3]Text[/b:81d9571ba3]; ´Type mismatch in expression´.


Olá

O texto em negrito já diz tudo...
Vc tá passando um texto pruma String...
apesar do seu texto ser um numero, ele não sabe disso...vc tem que especificar

ou vc faz
.AsString := dbCodigo.Text
ou então
.AsInteger := StrToInt(dbCodigo.Text);

Espero que ajude
Até+


Responder

Gostei + 0

14/07/2004

Marco

Não consigo nem montar a sql no form, qdo clico na TQuery e vou em SQL TStrings coloco assim:

select i.NumeroPedido, i.NumeroItem, i.NomeDestinatario, i.Ddd, i.Telefone, i.DataParaEnviar, i.TemaMensagem, i.ValorMensagem, i.MensagemJaEnviada, i.MensagemJaPaga, p.CodigoCliente, p.NomeCliente, p.Numero, i.CaminhoMensagem
from Itens i inner join Pedidos p on ( p.Numero = I.NumeroPedido )
where p.CodigoCliente like:codigo
order by DataParaEnviar desc

Depois qdo vou adicionar os campos na query já dá a mensagem ´Type mismatch in expression´.


Responder

Gostei + 0

14/07/2004

Tnaires

Ih cara, o problema é esse seu LIKE aí...
O LIKE só funciona para campos que contem caracteres. Substitua o LIKE por =, e dá certo.
E não se esqueça do q o Paulo Amorim falou: vc tem q converter o texto do Edit para o tipo apropriado!
Abraços


Responder

Gostei + 0

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

Aceitar