Não consigo salvar nada na tabela de clientes. qq pode ser?
18/06/2004
0
Cara... estou com um problema e espero que possas me ajudar.
Tenho duas tabelas uma de vendedores...
e outra de clientes...
... como tu podes ver,tenho uma chave estrangeira ´cod_ven´...
o problema é que não consigo salvar nada na minha tabela de clientes...
nao consigo salvar nada.
Onde estou cometendo o erro?
Antecipadamente obrigado!
:roll:
[color=red:1601ced4bc][b:1601ced4bc]Título alterado pelo Moderador oTTo. Removido: ´Socorro por favor me ajudem!!!!!!!!!!!!!!!!!!!!!!!!´.[/b:1601ced4bc][/color:1601ced4bc]
:idea: Favor leia as regras de conduta do forum antes de postar.
Tenho duas tabelas uma de vendedores...
CREATE TABLE public.vendedores ( codigo int8 DEFAULT nextval(´public.vendedores_codigo_seq´::text) NOT NULL, nome varchar(50), logradouro varchar(30), complemento varchar(10), cidade varchar(30), bairro varchar(30), cep varchar(10), uf varchar(2), fone_res1 varchar(14), fone_res2 varchar(14), fone_cel varchar(14), rg varchar(15), cpf varchar(15), email varchar(50), tipo varchar(10), comissao float4, obs1 varchar(100), obs2 varchar(100), obs3 varchar(100), obs4 varchar(100), obs5 varchar(100), CONSTRAINT xpkvendedores PRIMARY KEY (codigo) ) WITH OIDS;
e outra de clientes...
CREATE TABLE public.clientes ( codigo int8 DEFAULT nextval(´public.clientes_codigo_seq´::text) NOT NULL, cod_ven int8, razao varchar(50), fone_res varchar(14), fone_res2 varchar(14), endereco varchar(50), tipo varchar(5), complemento varchar(10), bairro varchar(30), cidade varchar(50), cep char(10), uf varchar(2), fone_cel varchar(14), email varchar(50), cgc varchar(18), inscricao varchar(18), ramal varchar(10), obs1 varchar(50), obs2 varchar(50), obs3 varchar(50), data date, CONSTRAINT xpkclientes PRIMARY KEY (codigo), CONSTRAINT fkclientes_vendedores FOREIGN KEY (cod_ven) REFERENCES clientes (codigo) ON DELETE NO ACTION ON UPDATE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE ) WITH OIDS;
... como tu podes ver,tenho uma chave estrangeira ´cod_ven´...
o problema é que não consigo salvar nada na minha tabela de clientes...
Tabelas.DBStoc.StartTransaction; Tabelas.QGeral.Close; Tabelas.QGeral.SQl.Clear; Tabelas.QGeral.SQl.Add(´INSERT INTO clientes (data, currval(cod_ven), razao, fone_res, fone_res2, ramal, fone_cel, endereco, complemento, bairro, cidade, uf, cep, email, inscricao, cgc, obs1, obs2, obs3) ´); Tabelas.QGeral.SQL.Add(´VALUES (´ + ´´´´ + MaskEdit3.Text + ´´´´ + ´, ´ + ´´´´ + ´vcod_ven´ + ´´´´ + ´, ´ + ´´´´ + Edit4.Text + ´´´´ + ´, ´ + ´´´´ + MaskEdit4.Text + ´´´´ + ´, ´ + ´´´´ + MaskEdit5.Text + ´´´´ + ´, ´ + ´´´´ + Edit5.Text + ´´´´ + ´, ´ + ´´´´ + MaskEdit6.Text + ´´´´ + ´, ´ + ´´´´ + Combobox2.Text + ´´´´ + ´, ´ + ´´´´ + Edit7.Text + ´´´´ + ´, ´ + ´´´´ + Edit8.Text + ´´´´ + ´, ´ + ´´´´ + edtUF.Text + ´´´´ + ´, ´ + ´´´´ + MaskEdit7.Text + ´´´´ + ´, ´ + ´´´´ + Edit10.Text + ´´´´ + ´, ´ + ´´´´ + edtinscricao.Text + ´´´´ + ´, ´ + ´´´´ + MaskEdit8.Text + ´´´´ + ´, ´ + ´´´´ + Edit9.Text + ´´´´ + ´, ´ + ´´´´ + Edit11.Text + ´´´´ + ´, ´ + ´´´´ + Edit12.Text + ´´´)´); try Tabelas.QGeral.Prepared := True; Tabelas.QGeral.ExecSQL; except on EDBEngineError do Begin Tabelas.DBStoc.Rollback; MessageDlg(´Não foi possível Inserir o Item Cliente !´, mtError, [mbOK], 0); Abort; Exit; end; end; //Terminando Transação com efetivação das modificações Tabelas.DBStoc.Commit;
nao consigo salvar nada.
Onde estou cometendo o erro?
Antecipadamente obrigado!
:roll:
[color=red:1601ced4bc][b:1601ced4bc]Título alterado pelo Moderador oTTo. Removido: ´Socorro por favor me ajudem!!!!!!!!!!!!!!!!!!!!!!!!´.[/b:1601ced4bc][/color:1601ced4bc]
:idea: Favor leia as regras de conduta do forum antes de postar.
Vilfredo
Curtir tópico
+ 0
Responder
Posts
28/06/2004
Bon Jovi
1 - no campo data vc ta setando ´´´´ + Edit1.Text + ´´´´. O que terá em Edit1.Text só Deus sabe.. E a formatação de data da máquina cliente pode ser diferente da formatacao do servidor. Use a funcao to_date do PostgreSql.
2 - currval nao seria nextval? e dentro do values?
2 - currval nao seria nextval? e dentro do values?
Responder
05/08/2004
Berg Mont
Outra opção que é interessante é utilizar uma função do Delphi chamada QuotedStr(Text). Experimente, toda vez que quiser passar algo entre plics (´) pra uma cadeia string, utilize-a. Ex:
Tabelas.QGeral.SQl.Add(´INSERT INTO clientes (data, currval(cod_ven), razao, fone_res, fone_res2, ramal, fone_cel, endereco, complemento, bairro, cidade, uf, cep, email, inscricao, cgc, obs1, obs2, obs3) ´);
Tabelas.QGeral.SQL.Add(´VALUES (+QuotedStr(MaskEdit3.Text) + ´, ´ +
QuotedStr(´vcod_ven´) + ´, ´ +
QuotedStr(Edit4.Text + ´, ´ +
QuotedStr(MaskEdit4.Text) + ´, ´ +
QuotedStr(MaskEdit5.Text + ´, ´ +
QuotedStr(Edit5.Text) + ´, ´ +
QuotedStr(MaskEdit6.Text) + ´, ´ +
QuotedStr(Combobox2.Text) + ´, ´ +
QuotedStr(Edit7.Text) + ´, ´ +
QuotedStr(Edit8.Text) + ´, ´ +
QuotedStr(edtUF.Text) + ´, ´ +
QuotedStr(MaskEdit7.Text) + ´, ´ +
QuotedStr(Edit10.Text) + ´, ´ +
QuotedStr(edtinscricao.Text) + ´, ´ +
QuotedStr(MaskEdit8.Text) + ´, ´ +
QuotedStr(Edit9.Text) + ´, ´ +
QuotedStr(Edit11.Text) + ´, ´ +
QuotedStr(Edit12.Text) + ´)´);
Observe que ficou melhor de ser visualizado o código e posteriormente pode ser depurado. Não sei se vai resolver seu problema, mas vai te ajudar a identifica-lo.
Abraços....
Tabelas.QGeral.SQl.Add(´INSERT INTO clientes (data, currval(cod_ven), razao, fone_res, fone_res2, ramal, fone_cel, endereco, complemento, bairro, cidade, uf, cep, email, inscricao, cgc, obs1, obs2, obs3) ´);
Tabelas.QGeral.SQL.Add(´VALUES (+QuotedStr(MaskEdit3.Text) + ´, ´ +
QuotedStr(´vcod_ven´) + ´, ´ +
QuotedStr(Edit4.Text + ´, ´ +
QuotedStr(MaskEdit4.Text) + ´, ´ +
QuotedStr(MaskEdit5.Text + ´, ´ +
QuotedStr(Edit5.Text) + ´, ´ +
QuotedStr(MaskEdit6.Text) + ´, ´ +
QuotedStr(Combobox2.Text) + ´, ´ +
QuotedStr(Edit7.Text) + ´, ´ +
QuotedStr(Edit8.Text) + ´, ´ +
QuotedStr(edtUF.Text) + ´, ´ +
QuotedStr(MaskEdit7.Text) + ´, ´ +
QuotedStr(Edit10.Text) + ´, ´ +
QuotedStr(edtinscricao.Text) + ´, ´ +
QuotedStr(MaskEdit8.Text) + ´, ´ +
QuotedStr(Edit9.Text) + ´, ´ +
QuotedStr(Edit11.Text) + ´, ´ +
QuotedStr(Edit12.Text) + ´)´);
Observe que ficou melhor de ser visualizado o código e posteriormente pode ser depurado. Não sei se vai resolver seu problema, mas vai te ajudar a identifica-lo.
Abraços....
Responder
Clique aqui para fazer login e interagir na Comunidade :)