Dúvida simples de ClientDataSet

Delphi

12/08/2008

Tenho uma tabela com dois atributos:
Nome e CPF
Criei um CDS apontando para esta tabela.
Acontece que neste CDS eu criei dois parametros:pNome e pCpf;
No meu código eu carrego assim:
Params[00].AsString := Edit1.Text;
Params[01].AsString := Edit2.Text;
Agora preciso dar um Insert nesta tabela, com os parametros. Como faço?
INSERT INTO TABELA VALUES(... E aí, como carrego aqui os parametros?


Paulo

Paulo

Curtidas 0

Respostas

Estanieski

Estanieski

12/08/2008

Cara Pesquisa sobre procedimento SQL:

Exemplo

insert into FORNECEDOR_EXAME
(CODIGO, VALOR_CUSTO, VALOR_VENDA, CODIGO_INDEX, FORNECEDOR, NOMEEXAME,
INDEXFORNECEDOR)
values
(:CODIGO, :VALOR_CUSTO, :VALOR_VENDA, :CODIGO_INDEX, :FORNECEDOR, :NOMEEXAME,
:INDEXFORNECEDOR)


update FORNECEDOR_EXAME
set
CODIGO = :CODIGO,
VALOR_CUSTO = :VALOR_CUSTO,
VALOR_VENDA = :VALOR_VENDA,
CODIGO_INDEX = :CODIGO_INDEX,
FORNECEDOR = :FORNECEDOR,
NOMEEXAME = :NOMEEXAME,
INDEXFORNECEDOR = :INDEXFORNECEDOR
where
CODIGO = :OLD_CODIGO


delete from FORNECEDOR_EXAME
where
CODIGO = :OLD_CODIGO


GOSTEI 0
Paulo

Paulo

12/08/2008

Fiz assim e está vindo null e os parametros estão carregados, pois eu já testei.


GOSTEI 0
Paulo

Paulo

12/08/2008

Se rtetiro as aspas, dá erro, se coloco não vem nada, tudo null. Uso BDS2007 e banco Oracle 8i e DBExpress.
CommandText :=
´INSERT INTO TABELA VALUES(pNome,pCpf)´;//Assim vem null

CommandText :=
´INSERT INTO TABELA VALUES(´+pNome+´,´+pCPF+´)´;//Assim dá erro


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

12/08/2008

faça da forma que o colega [b:fa4cc8ceb6]estanieski[/b:fa4cc8ceb6] indicou:
cds.commandtext := ´INSERT INTO TABELA VALUES(:pNome, :pCpf)´;
cds.Params[0].AsString := Edit1.Text;
cds.Params[1].AsString := Edit2.Text;
cds.Execute;

ou direto:
cds.CommandText := ´INSERT INTO TABELA VALUES(´ + QuotedStr(Edit1.Text) + ´,´ + QuotedStr(Edit2.Text) + ´)´;
cds.Execute;


GOSTEI 0
Paulo

Paulo

12/08/2008

Matei o problema. Os parametros são ftString. Eu passava um quotedstr(para os campos Varchar2) e dava erro. Retirei os quotedstr e funcionou, inclusive resolvei um outro post sobre Debugar Procedure. Agora está funcionando tudo.


GOSTEI 0
POSTAR