Ir ao conteúdo
  • Cadastre-se

Ajuda com DBgrid


Visitante: RNSILVA

Posts recomendados

Visitante: RNSILVA
 

Olá, sou novo em programação e estoiu tendo um problema com minha aplicação.

Estou desenvolvendo um sistema de cadastro de clientes, utilizando o DataModule, nele estão inseridos 1 DataBase, 1 transection e 1query, no form, tem 1 DataSource e um Dbgrid.

Fiz todos os inserts, deletes, updates, mas o Dbgrid não carrega os dados, já fechei e abri a query no final, mas da um erro de primarykey, o banco de dados é firebird e esta atualizando normalmente, ou seja, só quando fecho e abro a query da esse erro, tirando esse comando do final ele faz todas as operações sem erro, mas nao mostra os dados no dbgrid.

O que pode estar dando esse erro?

Link para o comentário
Compartilhar em outros sites

Opa,

Você mudou a propriedade DataSource do DBGrid? Vá em DataSource no DBGrid e direciona pro DataSource do datamodule, geralmente é assim:

DataModule2.DataSource1

Se você tiver utilizando mais de um form, é preciso autorizar o DBGrid a utilizar o datamodule, para isso você clica no DBGrid, vai em File, Use Unit, e autoriza o DataModule.

Abraço!

Link para o comentário
Compartilhar em outros sites

Visitante: RNSILVA
 

Obrigado pela ajuda!

Consegui resolver abrindo o ibtransection e colocando a opção de readcommit, só que to tendo outro problema.... quando faço o procedimento de fechar e abrir a query para atualizar os dados, ele dá o erro de violação de chave primária e também não carrega os dados no dbgrid. segue o código:

procedure TFormCLientes.btn_SalvarClick(Sender: TObject);

begin

with DM do

begin

IBQ_1.Close;

IBQ_1.SQL.Clear;

IBQ_1.SQL.Add('insert into CLIENTES');

IBQ_1.SQL.Add('(COD_CLI,NOME_CLI,CPF_CLI,RG_CLI,END_CLI,NUM_CLI,BAIRRO_CLI,CIDADE_CLI,UF_CLI,CEP_CLI,COMPL_CLI,BLOCO_CLI,APTO_CLI,FONE_CLI,CEL_CLI,EMAIL)');

IBQ_1.SQL.Add('values');

IBQ_1.SQL.Add('(:COD_CLI,:NOME_CLI,:CPF_CLI,:RG_CLI,:END_CLI,:NUM_CLI,:BAIRRO_CLI,:CIDADE_CLI,:UF_CLI,:CEP_CLI,:COMPL_CLI,:BLOCO_CLI,:APTO_CLI,:FONE_CLI,:CEL_CLI,:EMAIL)');

IBQ_1.ParamByName('COD_CLI').AsInteger := StrToInt(edt_Cod.Text);

IBQ_1.ParamByName('NOME_CLI').AsString := edt_Nome.Text;

IBQ_1.ParamByName('CPF_CLI').AsString := medt_CPF.Text;

IBQ_1.ParamByName('RG_CLI').AsString := medt_RG.Text;

IBQ_1.ParamByName('END_CLI').AsString := edt_End.Text;

IBQ_1.ParamByName('NUM_CLI').AsString := edt_Num.Text;

IBQ_1.ParamByName('BAIRRO_CLI').AsString := edt_Bairro.Text;

IBQ_1.ParamByName('CIDADE_CLI').AsString := edt_Cidade.Text;

IBQ_1.ParamByName('UF_CLI').AsString := edt_UF.Text;

IBQ_1.ParamByName('COMPL_CLI').AsString := edt_Compl.Text;

IBQ_1.ParamByName('BLOCO_CLI').AsString := edt_Bloco.Text;

IBQ_1.ParamByName('APTO_CLI').AsString := edt_Apto.Text;

IBQ_1.ParamByName('CEP_CLI').AsString := medt_CEP.Text;

IBQ_1.ParamByName('FONE_CLI').AsString := medt_Fone.Text;

IBQ_1.ParamByName('CEL_CLI').AsString := medt_Cel.Text;

IBQ_1.ParamByName('EMAIL').AsString := edt_Email.Text;

IBQ_1.ExecSQL;

ShowMessage('Operação realizada com sucesso!');

LimparDados(FormCLientes);

IBQ_1.Close;

IBQ_1.Open;

end;

nesse final de fechar e abrir a query da o erro, e também acontece quando dou um refresh na query.

Se puder me ajudar, agradeço muito.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!