Erro procedimento Inserir

Delphi

11/03/2024

No Código delphi abaixo,a seguir, quando clico no botão inserir para incluir um novo registro,
aparece a mensagem de erro aabaixo.
CÓDIGO DELPHI
procedure TPageCadastroEditoras.btnIncluirClick(Sender: TObject);
begin
LimparCampos;
FEditora.Inserir('ID', StrToInt(edtCodigo.Text));
FEditora.Inserir('Nome', edtNome.Text);
FEditora.Listar(DataSource1);
PnlPrincipal.ActiveCard := cardPesquisa;
HabilitarBotoes;
PnlPrincipal.ActiveCard := cardCadastro;
end;

Mensagem de ERRO

Firedac{Phys][SQLite]-335 - Parameter[ID] data type is unknown. Hint: specify TFDParam.DataType
or assign TFDParam Value before Prepare/Execute Call. COMO CORRIGIR O ERRO?
Mauricio Bomfim

Mauricio Bomfim

Curtidas 0

Melhor post

Jonas Gonçalves

Jonas Gonçalves

13/03/2024

No Código delphi abaixo,a seguir, quando clico no botão inserir para incluir um novo registro,
aparece a mensagem de erro aabaixo.
CÓDIGO DELPHI
procedure TPageCadastroEditoras.btnIncluirClick(Sender: TObject);
begin
LimparCampos;
FEditora.Inserir('ID', StrToInt(edtCodigo.Text));
FEditora.Inserir('Nome', edtNome.Text);
FEditora.Listar(DataSource1);
PnlPrincipal.ActiveCard := cardPesquisa;
HabilitarBotoes;
PnlPrincipal.ActiveCard := cardCadastro;
end;

Mensagem de ERRO

Firedac{Phys][SQLite]-335 - Parameter[ID] data type is unknown. Hint: specify TFDParam.DataType
or assign TFDParam Value before Prepare/Execute Call. COMO CORRIGIR O ERRO?



Fala, Mauricio Bomfim!

Não consegui encontrar o seu projeto. Mas, verifica se o parâmetro "ID" que você está tentando inserir existe e se ele é realmente do tipo Integer!
GOSTEI 1

Mais Respostas

Mauricio Bomfim

Mauricio Bomfim

11/03/2024

No Código delphi abaixo,a seguir, quando clico no botão inserir para incluir um novo registro,
aparece a mensagem de erro aabaixo.
CÓDIGO DELPHI
procedure TPageCadastroEditoras.btnIncluirClick(Sender: TObject);
begin
LimparCampos;
FEditora.Inserir('ID', StrToInt(edtCodigo.Text));
FEditora.Inserir('Nome', edtNome.Text);
FEditora.Listar(DataSource1);
PnlPrincipal.ActiveCard := cardPesquisa;
HabilitarBotoes;
PnlPrincipal.ActiveCard := cardCadastro;
end;

Mensagem de ERRO

Firedac{Phys][SQLite]-335 - Parameter[ID] data type is unknown. Hint: specify TFDParam.DataType
or assign TFDParam Value before Prepare/Execute Call. COMO CORRIGIR O ERRO?
GOSTEI 0
Mauricio Bomfim

Mauricio Bomfim

11/03/2024

No Código delphi abaixo,a seguir, quando clico no botão inserir para incluir um novo registro,
aparece a mensagem de erro aabaixo.
CÓDIGO DELPHI
procedure TPageCadastroEditoras.btnIncluirClick(Sender: TObject);
begin
LimparCampos;
FEditora.Inserir(''ID'', StrToInt(edtCodigo.Text));
FEditora.Inserir(''Nome'', edtNome.Text);
FEditora.Listar(DataSource1);
PnlPrincipal.ActiveCard := cardPesquisa;
HabilitarBotoes;
PnlPrincipal.ActiveCard := cardCadastro;
end;

Mensagem de ERRO

Firedac{Phys][SQLite]-335 - Parameter[ID] data type is unknown. Hint: specify TFDParam.DataType
or assign TFDParam Value before Prepare/Execute Call. COMO CORRIGIR O ERRO?



Segue o link do projeto no GitHub. https://github.com/MauricioPBomfim/AcervoHQV2
GOSTEI 0
Jonas Gonçalves

Jonas Gonçalves

11/03/2024





GOSTEI 0
Mauricio Bomfim

Mauricio Bomfim

11/03/2024

No Código delphi abaixo,a seguir, quando clico no botão inserir para incluir um novo registro,
aparece a mensagem de erro aabaixo.
CÓDIGO DELPHI
procedure TPageCadastroEditoras.btnIncluirClick(Sender: TObject);
begin
LimparCampos;
FEditora.Inserir('ID', StrToInt(edtCodigo.Text));
FEditora.Inserir('Nome', edtNome.Text);
FEditora.Listar(DataSource1);
PnlPrincipal.ActiveCard := cardPesquisa;
HabilitarBotoes;
PnlPrincipal.ActiveCard := cardCadastro;
end;

Mensagem de ERRO

Firedac{Phys][SQLite]-335 - Parameter[ID] data type is unknown. Hint: specify TFDParam.DataType
or assign TFDParam Value before Prepare/Execute Call. COMO CORRIGIR O ERRO?



Fala, Mauricio Bomfim!

Não consegui encontrar o seu projeto. Mas, verifica se o parâmetro "ID" que você está tentando inserir existe e se ele é realmente do tipo Integer!


Segue o link do projeto no github. Pode verificar? Agradeço a ajuda.
GOSTEI 0
Mauricio Bomfim

Mauricio Bomfim

11/03/2024

No Código delphi abaixo,a seguir, quando clico no botão inserir para incluir um novo registro,
aparece a mensagem de erro aabaixo.
CÓDIGO DELPHI
procedure TPageCadastroEditoras.btnIncluirClick(Sender: TObject);
begin
LimparCampos;
FEditora.Inserir('ID', StrToInt(edtCodigo.Text));
FEditora.Inserir('Nome', edtNome.Text);
FEditora.Listar(DataSource1);
PnlPrincipal.ActiveCard := cardPesquisa;
HabilitarBotoes;
PnlPrincipal.ActiveCard := cardCadastro;
end;

Mensagem de ERRO

Firedac{Phys][SQLite]-335 - Parameter[ID] data type is unknown. Hint: specify TFDParam.DataType
or assign TFDParam Value before Prepare/Execute Call. COMO CORRIGIR O ERRO?



Fala, Mauricio Bomfim!

Não consegui encontrar o seu projeto. Mas, verifica se o parâmetro "ID" que você está tentando inserir existe e se ele é realmente do tipo Integer!


Segue o link do projeto no github. Pode verificar? Agradeço a ajuda.

https://github.com/MauricioPBomfim/AcervoHQV2
GOSTEI 0
Mauricio Bomfim

Mauricio Bomfim

11/03/2024

[quote
RESOLVIDO
]No Código delphi abaixo,a seguir, quando clico no botão inserir para incluir um novo registro,
aparece a mensagem de erro aabaixo.
CÓDIGO DELPHI
procedure TPageCadastroEditoras.btnIncluirClick(Sender: TObject);
begin
LimparCampos;
FEditora.Inserir('ID', StrToInt(edtCodigo.Text));
FEditora.Inserir('Nome', edtNome.Text);
FEditora.Listar(DataSource1);
PnlPrincipal.ActiveCard := cardPesquisa;
HabilitarBotoes;
PnlPrincipal.ActiveCard := cardCadastro;
end;

Mensagem de ERRO

Firedac{Phys][SQLite]-335 - Parameter[ID] data type is unknown. Hint: specify TFDParam.DataType
or assign TFDParam Value before Prepare/Execute Call. COMO CORRIGIR O ERRO?
GOSTEI 0
Arthur Heinrich

Arthur Heinrich

11/03/2024

A mensagem "Parameter[ID] data type is unknown. Hint: specify TFDParam.DataType" refere-se ao parâmetro da classe e não da tabela.

Não sei o que seu método "Inserir" faz em FEditora.Inserir('ID', StrToInt(edtCodigo.Text));. Mas, quando utilizamos parâmetros em uma classe, podemos atribuir um valor a ele utilizando as propriedades tipadas (Parametro.AsString:='teste'; ou Parâmetro.AsInteger:=15;) ou a propriedade Value, que é genérica.

Ao utilizar a propriedade Value, precisamos informar o ParamType, para que ele faça a conversão apropriadamente.
GOSTEI 0
POSTAR