Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) DBLookupComboBox


Henrique Bosse

Pergunta

Boa tarde...
estou desenvolvendo uma tela onde eu pego um arquivo txt, percorro ele e vejo se tem alguma informação a mais que no banco de dados.

Tenho uma DBLookupComboBox que quando aperto o botão de "Percorrer" o arquivo, ela zera e não grava os valores..
e também não estou conseguindo tratar meu códido na linha "qryUpDate.ParamByName('p_I_COD_B_CONTA_CORRENTE_DEBIT_C')." que seria o campo da ComboBox..
Ela mostra o nome e deveria gravar o código.

Eu possuo 2 Query de pesquisa por causa do DBLookupComboBox, uma Query de Pesquisa em uma tabela X e outra na Tabela Y, pois preciso ler os arquivos de uma tabela e gravar em outra.
Estou usando o componente Zeos para fazer essa conexão.

O único problema que estou enfrentando é que não estou conseguindo fazer gravar esse DBLookupComboBox no banco, após eu clica no botão "percorrer" ele apaga o valor do campo e não grava nada...

se precisarem mais informações é só pedir =)

Abaixo meu código do botão de percorrer arquivo pra darem uma olhada o que ta faltando..


procedure TfrmDebitoConta.btnPercorrerClick(Sender: TObject);
var
ind : integer;

begin

mmPercorre.Lines.Clear;
memAtualizado.Lines.Clear;

for ind := 0 to mmLista.Lines.Count - 1 do
begin
qryPesquisa.Close;
qryPesquisa.ParamByName('p_S_NUMERO_FICHA_DEBITO_CONTA').AsString := Copy(mmLista.Lines[ind], 2, 6);
qryPesquisa.Open;

if qryPesquisa.IsEmpty then
mmPercorre.Lines.Add(Copy(mmLista.Lines[ind], 2, 6))
else
begin
qryUpDate.Close;
qryUpDate.ParamByName('p_S_NUM_FICHA_DEB_CONTA').AsString := Copy(mmLista.Lines[ind], 2, 6);
qryUpDate.ParamByName('p_S_AG_CLIENTE_DEB_CONTA').AsString := Copy(mmLista.Lines[ind], 27, 4);
qryUpDate.ParamByName('p_S_CONTA_CLIENTE_DEB_CONTA').AsString := Copy(mmLista.Lines[ind], 31, 12);
qryUpDate.ParamByName('p_F_VAL_DEB_CONTA_CLIENTE').AsString := Copy(mmLista.Lines[ind], 63, 5);
//qryUpDate.ParamByName('p_I_COD_B_CONTA_CORRENTE_DEBIT_C').AsInteger := dbBancoNome.KeyValue; ( não estou conseguindo tratar esse campo)
qryUpDate.ExecSQL;

memAtualizado.Lines.Add(Copy(mmLista.Lines[ind], 2, 6));
memAtualizado.Lines.Add(Copy(mmLista.Lines[ind], 27, 4));
memAtualizado.Lines.Add(Copy(mmLista.Lines[ind], 31, 12));
memAtualizado.Lines.Add(Copy(mmLista.Lines[ind], 63, 5));
showmessage(dbBancoNome.text);
memAtualizado.Lines.Add('');

end;
end;

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

//qryUpDate.ParamByName('p_I_COD_B_CONTA_CORRENTE_DEBIT_C').AsInteger := dbBancoNome.KeyValue; ( não estou conseguindo tratar esse campo)

tente assim

qryUpDate.ParamByName('p_I_COD_B_CONTA_CORRENTE_DEBIT_C').AsString := dbBancoNome.KeyValue;

não estou conseguindo fazer gravar esse DBLookupComboBox no banco,

uses as propriedades DataField e DataSource para gravar o conteudo do DBLookupComboBox em outra tabela

help do delphi

Use TDBLookupComboBox para fornecer ao usuário uma lista drop-down conveniente de itens de pesquisa para o preenchimento de campos que requerem dados de outro conjunto de dados.

Se TDBLookupComboBox está ligada a um componente de campo de pesquisa, ele lê automaticamente a relação entre o valor do campo e os valores de pesquisa no conjunto de dados de pesquisa a partir do componente de campo. A relação entre os valores de campo e os valores correspondentes no conjunto de dados de pesquisa também podem ser explicitamente definidas usando as propriedades de caixa de combinação de pesquisa quando a caixa de combinação não está ligado a um componente de campo de pesquisa.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

na verdade AsString não funciona, já havia tentado antes... porque meu campo é integer..

Acho estranho porque meu DBLookupComboBox mostra os campos tudo certinho..

eu seleciono o DBLookupComboBox, seleciono o arquivo txt e mando percorrer o arquivo, que é essa rotina ai acima...

quando eu mando percorrer o arquivo, meu campo DBLookupComboBox fica vazio e não grava nada..

Link para o comentário
Compartilhar em outros sites

  • 0

imagine que voce faz um select distinct para selecionar um unico campo da tabela ( é o que o DBLookupComboBox faz )

voce entendeu o help do delphi para uso desse componente ?

dbBancoNome.KeyValue;

use o break point ( debugger ) do delphi para saber qual é o valor da chave

dentro de um loop o valor do DBLookupComboBox vai ser sempre o mesmo se voce não não fizer o ponteiro do registro da tabela andar

300366-20150115-155038.png

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...