Erro no formulário com MySQL
Olá, tudo Bem?!
Eu estou com um problema que não estou conseguindo resolver. Criei um formula rio de pesquisa genérica para minha aplicação, só que quando eu vou executar esse formulário, dá uma mensagem de erro no MySQL e com isso o form não e aberto.
Detalhe é uma aplicação simples sem o uso do DataSnap, eu estou precisando muito da ajuda de vcs....
O erro está nessa parte do Código:
Um detalhe: quando eu tiro o parâmetro, o form abre com todos os registros só que eu não quero que ele abra assim, mas quero que ele venha sem nenhum registro
Quero que só exiba os registros quando o mesmo for pesquisado.
Obrigado pela ajuda.
Essa dúvida foi gerada a partir de um comentário na aula Formulário Genérico de Pesquisas - Curso de Multicamadas com Delphi e DataSnap - 67
Eu estou com um problema que não estou conseguindo resolver. Criei um formula rio de pesquisa genérica para minha aplicação, só que quando eu vou executar esse formulário, dá uma mensagem de erro no MySQL e com isso o form não e aberto.
Detalhe é uma aplicação simples sem o uso do DataSnap, eu estou precisando muito da ajuda de vcs....
O erro está nessa parte do Código:
procedure TfrmPesquisar.ConfigurarForm(Tabela,CampoID,CampoNome: string);
var
cds: TClientDataSet;
begin
cds:= dspesquisar.DataSet as TClientDataSet;
cds.Close();
cds.CommandText:= Format('select %s,%s from %s where %s like :id', [CampoID,CampoNome,Tabela,CampoNome]);
cds.Open();end;Um detalhe: quando eu tiro o parâmetro, o form abre com todos os registros só que eu não quero que ele abra assim, mas quero que ele venha sem nenhum registro
Quero que só exiba os registros quando o mesmo for pesquisado.
Obrigado pela ajuda.
Essa dúvida foi gerada a partir de um comentário na aula Formulário Genérico de Pesquisas - Curso de Multicamadas com Delphi e DataSnap - 67
Francisco Ribeiro
Curtidas 0
Melhor post
Daniel Araújo
12/09/2017
Boa noite Francisco! Você tem que passar algum valor para o parâmetro id. Tipo assim:
https://twitter.com/danieldaterral
cds.Params.ParamByName('id').Value := 0;https://twitter.com/danieldaterral
GOSTEI 1
Mais Respostas
Francisco Ribeiro
12/09/2017
Olá Boa Noite me esqueci de informar a mensagem do erro que aparece.
Está abaixo a mensagem do erro.
[FireDAC][Phys][MSSQL]-335. Parameter data type is unknown.
Hint: specify TADParam.DataType or assign TADParam value before Prepare/Execute call.
Está abaixo a mensagem do erro.
[FireDAC][Phys][MSSQL]-335. Parameter data type is unknown.
Hint: specify TADParam.DataType or assign TADParam value before Prepare/Execute call.
GOSTEI 0
Francisco Ribeiro
12/09/2017
Já resolvi....era só colocar um valor para o parametro. no Firebird ele pega o parametro de forma automatica, já no mysql precisa ser atribuido um valor pro parametro como não tinha colocado por isso que dava o erro.
o código ficou assim:
o código ficou assim:
procedure TfrmPesquisar.ConfigurarForm(Tabela,CampoID,CampoNome: string);
var
cds: TClientDataSet;
begin
cds:= dspesquisar.DataSet as TClientDataSet;
cds.Close();
cds.CommandText:= Format('select %s,%s from %s where %s like :id', [CampoID,CampoNome,Tabela,CampoNome]);
cds.params.parambyname('id').asinteger:= 0;
cds.Open();
end;
GOSTEI 0
Francisco Ribeiro
12/09/2017
Muito obrigado pela sua ajuda...
GOSTEI 0