Delphi 2010 - problema com Parametro.
17/08/2012
0
Estou com o um problema referente à parametro no Delphi 2010.
Esse erro está sendo apresentado somente no delphi 2010 (utilizo o delphi 5 e não apresenta),está apresentando erro de foreign key no banco de dados, na tabela o campo codigo é uma foreign key e pode ser null.
if TRIM(Codigo) <> then Query.ParamByName(CODIGO).asString := CODIGO else Query.ParamByName(CODIGO).DataType := ftString;
Eu pesquisei na net e alguns orientam a fazer o seguinte:
ParamByName(CODIGO).DataType := ftstring; ParamByName(CODIGO).Clear;
mas não funciona. E tem tbem assim:
ParamByName(CODIGO).DataType := ftstring; ParamByName(CODIGO).Bound := true;
Se alguém souber de algo e puder me ajudar desde já agradeço. Obrigado!
Valeu!!!
Walmir Taques
Posts
17/08/2012
William
if TRIM(Codigo) <> then Query.ParamByName(CODIGO).asString := CODIGO else Query.ParamByName(CODIGO).Value := null;
Só uma dúvida se o campo é foreign key e faz relação com outra tabela, pq existe a possibilidade de não ser passado valor?
17/08/2012
Walmir Taques
O problema é que quando tento gravar um valor null passando datatype = ftstring para um campo onde o mesmo é uma chave estrangeira onde pode ser null ...não funciona. apresenta o erro :
No primary key value for foreign key 'FK_Codigo' in table TBPEDIDO
17/08/2012
Walmir Taques
if TRIM(Codigo) <> then Query.ParamByName(CODIGO).asString := CODIGO else Query.ParamByName(CODIGO).Value := null;
Só uma dúvida se o campo é foreign key e faz relação com outra tabela, pq existe a possibilidade de não ser passado valor?
Já tentei, não funcionou.
17/08/2012
Carlos Phelippe
Query.ParamByName(CODIGO).IsNull;
17/08/2012
Walmir Taques
Consigo.
Efetuei uns teste aqui no oracle e não apresentou erro.
Só que no Sybase continua...bem provavel que é bug do Sybase.
17/08/2012
Walmir Taques
Query.ParamByName(CODIGO).IsNull;
Não tentei dessa maneira ..vou testar e posto o resultado...valeu pela ajuda.Obrigado!
21/08/2012
Walmir Taques
Query.ParamByName(CODIGO).IsNull;
Não tentei dessa maneira ..vou testar e posto o resultado...valeu pela ajuda.Obrigado!
Fiz dessa maneira mas não funcionou.
21/08/2012
Walmir Taques
Query.ParamByName(CODIGO).asstring = '';
Tambem não funciona...ele tenta validar devido a chave estrangeira.
21/08/2012
Francisco Macário
if trim(codigo) <> then
query.parambyname(codigo).asstring := codigo
else
query.parambyname(codigo).value := null;
só uma dúvida se o campo é foreign key e faz relação com outra tabela, pq existe a possibilidade de não ser passado valor?
Fiquei intrigado, como é possível criar a integridade relacional com campo que aceita NULL?
Não conheço Oracle, mas acho que isso não é uma particularidade dele.
07/04/2014
Daniel Jordão
Estou com um problema. Estou usando o Delphi XE5 e estou tentando fazer uma pesquisa na minha tabela, base de dados.
No entanto o "ParamByName" não está sendo aceite pelo programa.
procedure TFormPesquisarRelatorioTurno.Panel2Click(Sender: TObject);
begin
banco2.table2.close;
banco2.table2.ParamByName('NOME_CHEFE').Asstring:=EditPesquisa.Text;
banco2.table2.open;
end;
Dá o erro:
[dcc32 Error] PesquisarRelatoriosTurno.pas(56): E2003 Undeclared identifier: 'ParamByName'
[dcc32 Error] PesquisarRelatoriosTurno.pas(56): E2066 Missing operator or semicolon
[dcc32 Fatal Error] F2063 Could not compile used unit 'PesquisarRelatoriosTurno.pas'
Alguem me consegue ajudar? o que é que se passa?
07/04/2014
Carlos Phelippe
Em qual UNIT está declarado ParamByName?
Não seria apenas adicionar isso no USES?
15/04/2014
Walmir Taques
Estou com um problema. Estou usando o Delphi XE5 e estou tentando fazer uma pesquisa na minha tabela, base de dados.
No entanto o "ParamByName" não está sendo aceite pelo programa.
procedure TFormPesquisarRelatorioTurno.Panel2Click(Sender: TObject);
begin
banco2.table2.close;
banco2.table2.ParamByName('NOME_CHEFE').Asstring:=EditPesquisa.Text;
banco2.table2.open;
end;
Dá o erro:
[dcc32 Error] PesquisarRelatoriosTurno.pas(56): E2003 Undeclared identifier: 'ParamByName'
[dcc32 Error] PesquisarRelatoriosTurno.pas(56): E2066 Missing operator or semicolon
[dcc32 Fatal Error] F2063 Could not compile used unit 'PesquisarRelatoriosTurno.pas'
Alguem me consegue ajudar? o que é que se passa?
Que componente é esse bancow.table2 ?
Vc não explicou muito do que se trata.
Clique aqui para fazer login e interagir na Comunidade :)