ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Dúvida no comando select [resolvido]

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
jfranco.delphi2
Novato
Novato


Registrado: Segunda-Feira, 2 de Julho de 2012
Mensagens: 37
Localização: São Paulo / SP

MensagemEnviada: Ter Ago 07, 2012 3:12 pm    Assunto: Dúvida no comando select [resolvido] Responder com Citação

Boa tarde a todos,

Alguém poderia me ajudar a descobrir onde está o erro no comando abaixo:

dmDVD.SQLdtsGen.CommandText := 'Select GEN_SEQ from TB_GENERO where GEN_DESCRICAO = ' + cmbxGenero.Text;

Quero executar o select acima, mas obtenho um erro indicando que a coluna Biografia não faz parte da tabela. "Biografia" é o conteúdo de cmbxGenero que é um campo de um formulário. O que eu quero é trazer os registros que contenham no campo GEN_DESCRICAO a palavra Biografia. Fui claro? Obrigado.


Editado pela última vez por jfranco.delphi2 em Qua Ago 08, 2012 7:48 am, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Ter Ago 07, 2012 3:23 pm    Assunto: Responder com Citação

Boa tarde,

Experimente utilizar a função QuotedStr para que o valor de cmbxGenero.Text fique entre aspas simples:
Código:
dmDVD.SQLdtsGen.CommandText := 'Select GEN_SEQ from TB_GENERO where GEN_DESCRICAO = ' + QuotedStr(cmbxGenero.Text);


Ou utilize parâmetro na instrução SQL (prefiro desta forma):
Código:
dmDVD.SQLdtsGen.CommandText := 'Select GEN_SEQ from TB_GENERO where GEN_DESCRICAO = :GEN_DESCRICAO';
dmDVD.SQLdtsGen.ParamByName('GEN_DESCRICAO').AsString := cmbxGenero.Text;


Espero que ajude.

_________________
Assinatura: http://www.imoveisemexposicao.com.br/imoveis-venda-são_paulo-residencial
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
jfranco.delphi2
Novato
Novato


Registrado: Segunda-Feira, 2 de Julho de 2012
Mensagens: 37
Localização: São Paulo / SP

MensagemEnviada: Ter Ago 07, 2012 5:03 pm    Assunto: Responder com Citação

imex escreveu:
Boa tarde,

Experimente utilizar a função QuotedStr para que o valor de cmbxGenero.Text fique entre aspas simples:
Código:
dmDVD.SQLdtsGen.CommandText := 'Select GEN_SEQ from TB_GENERO where GEN_DESCRICAO = ' + QuotedStr(cmbxGenero.Text);


Ou utilize parâmetro na instrução SQL (prefiro desta forma):
Código:
dmDVD.SQLdtsGen.CommandText := 'Select GEN_SEQ from TB_GENERO where GEN_DESCRICAO = :GEN_DESCRICAO';
dmDVD.SQLdtsGen.ParamByName('GEN_DESCRICAO').AsString := cmbxGenero.Text;


Espero que ajude.
Imex,
Obrigado pela ajuda, funcionou perfeitamente. Mas para a solução do problema ficar completa, eu precisaria saber como faço para formatar um campo que tem três letras e três algarismos; só que os três algarismos são gerados a partir de um cálculo. Por exemplo, tenho o código ABC001, o próximo deve ser ABC002; numa das tabelas eu já armazeno o último número gerado.
Então, se eu tiver 8 como último número, o próximo será 9, mas devo gravar 009 e não somente 9. Procurei no help do Delphi, mas não encontrei nada que me desse a resposta.
Você poderia me ajudar nessa questão, também? Muito obrigado.
_________________
Assinatura: http://www.imoveisemexposicao.com.br/imoveis-venda-são_paulo-residencial
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Ter Ago 07, 2012 5:29 pm    Assunto: Responder com Citação

Não sei se entendi corretamente, mas experimente utilizar a função Format mais ou menos como segue:

Código:
var
  s: string;
  i: integer;
begin
  s := 'ABC';
  i := 9;
  ShowMessage( s + Format('%3.3d', [i]) );


Espero que ajude.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
jfranco.delphi2
Novato
Novato


Registrado: Segunda-Feira, 2 de Julho de 2012
Mensagens: 37
Localização: São Paulo / SP

MensagemEnviada: Ter Ago 07, 2012 6:17 pm    Assunto: Responder com Citação

imex escreveu:
Não sei se entendi corretamente, mas experimente utilizar a função Format mais ou menos como segue:

Código:
var
  s: string;
  i: integer;
begin
  s := 'ABC';
  i := 9;
  ShowMessage( s + Format('%3.3d', [i]) );


Espero que ajude.


Na mosca! Obrigado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Ter Ago 07, 2012 8:59 pm    Assunto: Responder com Citação

Blz, agradeço o retorno.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB