Como salvar edits no banco de dados?

14/01/2019

0

Tenho um banco de dados e nele há a tebela ''CLIENTES'', no delphi tenho uma aplicação que possuir varios edit's que quero gravar o que fizer nesses edit's e mandar pro banco.No delphi tenho o FDQuery, DataSource e um TDBGrid(Só pra conferir os dados). Como posso salvar os edit's no banco de dados?
Lucas Araújo

Lucas Araújo

Responder

Post mais votado

14/01/2019

E ae Lucas , blz cara,

Então você pode salvar de muitas formas os valores de campos no banco, a mais simples seria trocar seus campos por DB que são campos vinculados a tabelas , outra forma é pegar o conteúdo e gravar via SQL.

Exemplo considerando que você tenha o campo cod_cliente e nom_cliente no banco e tenha dois edits edtCod_cliente e edtNom_cliente e vá gravar por SQL:
'INSERT INTO CLIENTES (COD_CLIENTE,NOM_CLIENTE) VALUES ( '+QuotedStr(edtCod_cliente.text)+','+QuotedStr(edtNom_cliente.text)+') ';

Basicamente seria isso, mas você pode fazer isso com passagem de parâmetros também .... a função QuotedStr coloca aspas no valor considerando que sejam texto ....

Espero que te de uma luz de como fazer, mas caso tenha dificuldades posta aqui que tentamos ajudar com mais informações... boa sorte ...

Jucélio Silva

Jucélio Silva
Responder

Mais Posts

14/01/2019

Lucas Araújo

E ae Lucas , blz cara,

Então você pode salvar de muitas formas os valores de campos no banco, a mais simples seria trocar seus campos por DB que são campos vinculados a tabelas , outra forma é pegar o conteúdo e gravar via SQL.

Exemplo considerando que você tenha o campo cod_cliente e nom_cliente no banco e tenha dois edits edtCod_cliente e edtNom_cliente e vá gravar por SQL:
'INSERT INTO CLIENTES (COD_CLIENTE,NOM_CLIENTE) VALUES ( '+QuotedStr(edtCod_cliente.text)+','+QuotedStr(edtNom_cliente.text)+') ';

Basicamente seria isso, mas você pode fazer isso com passagem de parâmetros também .... a função QuotedStr coloca aspas no valor considerando que sejam texto ....

Espero que te de uma luz de como fazer, mas caso tenha dificuldades posta aqui que tentamos ajudar com mais informações... boa sorte ...


Então, tentei com o sql só que está dando : ''[dcc32 Error] Clientes.pas(88): E2014 Statement expected, but expression of type 'string' found.
[dcc32 Fatal Error] F2063 Could not compile used unit 'Clientes.pas' ''
Pela parte dos botoes DB, ao seta o dataset, como identifico os campos da tabela?
Responder

14/01/2019

Lucas Araújo

Ah, saquei aqui, estava colocando os FDQuery.sql.add(id,nome)... no botão adicionar, mas na verdade era pra estar no botão de gravar junto com o comando FDQuery.execSQL e fmModulos_Dados.FDConnection1.Commit;
O codigo do processo foi esse:

procedure TfmClientes.BTGravarClick(Sender: TObject);
begin
FDQUERY1.sql.clear;
FDQUERY1.sql.add('INSERT INTO CLIENTES (ID,NOME) VALUES ('+EDCodigo.text+','+QuotedStr(EDNome.text)+')');
FDquery1.ExecSQL;
fmModulos_Dados.FDConnection1.Commit;
Responder

14/01/2019

Jucélio Silva

Ah, saquei aqui, estava colocando os FDQuery.sql.add(id,nome)... no botão adicionar, mas na verdade era pra estar no botão de gravar junto com o comando FDQuery.execSQL e fmModulos_Dados.FDConnection1.Commit;
O codigo do processo foi esse:

procedure TfmClientes.BTGravarClick(Sender: TObject);
begin
FDQUERY1.sql.clear;
FDQUERY1.sql.add('INSERT INTO CLIENTES (ID,NOME) VALUES ('+EDCodigo.text+','+QuotedStr(EDNome.text)+')');
FDquery1.ExecSQL;
fmModulos_Dados.FDConnection1.Commit;


Boa, é isso ai, com essa base agora você pode fazer muita coisa XD...
Responder

14/01/2019

Jucélio Silva

Ah, saquei aqui, estava colocando os FDQuery.sql.add(id,nome)... no botão adicionar, mas na verdade era pra estar no botão de gravar junto com o comando FDQuery.execSQL e fmModulos_Dados.FDConnection1.Commit;
O codigo do processo foi esse:

procedure TfmClientes.BTGravarClick(Sender: TObject);
begin
FDQUERY1.sql.clear;
FDQUERY1.sql.add('INSERT INTO CLIENTES (ID,NOME) VALUES ('+EDCodigo.text+','+QuotedStr(EDNome.text)+')');
FDquery1.ExecSQL;
fmModulos_Dados.FDConnection1.Commit;


Boa, é isso ai, com essa base agora você pode fazer muita coisa XD...


Ah sobre Binding de campo tem muita coisa aqui na dev, segue um link que fala um pouco , mas isso muda um pouco de versão para versão do delphi :
https://www.devmedia.com.br/livebindings-a-evolucao-no-delphi/30142
Responder

14/01/2019

Lucas Araújo

Ah, saquei aqui, estava colocando os FDQuery.sql.add(id,nome)... no botão adicionar, mas na verdade era pra estar no botão de gravar junto com o comando FDQuery.execSQL e fmModulos_Dados.FDConnection1.Commit;
O codigo do processo foi esse:

procedure TfmClientes.BTGravarClick(Sender: TObject);
begin
FDQUERY1.sql.clear;
FDQUERY1.sql.add('INSERT INTO CLIENTES (ID,NOME) VALUES ('+EDCodigo.text+','+QuotedStr(EDNome.text)+')');
FDquery1.ExecSQL;
fmModulos_Dados.FDConnection1.Commit;


Boa, é isso ai, com essa base agora você pode fazer muita coisa XD...


Ah sobre Binding de campo tem muita coisa aqui na dev, segue um link que fala um pouco , mas isso muda um pouco de versão para versão do delphi :
https://www.devmedia.com.br/livebindings-a-evolucao-no-delphi/30142


Muito obrigado pela ajuda
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar