Parametros de procedimento, Duvida
Ola,
bom, eu criei uma procedure, como exemplo esta abaixo
alem de cria-la, eu a codifiquei, como exemplifico abaixo
Vise que, vou utilizar esse procedimento para enviar dados para meu Banco de Dados, vou colocar essa procedimento em um button, configurando +- dessa maneira
Mas, neste meu formulario especifico, ele nao possui um edit para transferir o que foi digitado para o parametro nome, logo, como faco para "tirar" esse parametro dentro da procedure para que fosse executado como eu quero, tipo assim
..
Será que entendem como explico? A ideia é, de forma resumida, nao usar um dos parametros dentro do procedimento, e sim apenas alguns deles, e o restante é como se "nao valesse", como se pula-se um parametro porque nao tenho aonde receber dados nele, para posteriormente, no meu caso, passa-los ao banco de dados..
Grato!
bom, eu criei uma procedure, como exemplo esta abaixo
procedure tfrm_principal.inserirdados(nick:string; nome:string; dataentrada:string; idadedojogador:integer);
alem de cria-la, eu a codifiquei, como exemplifico abaixo
datamodule1.Query.Close;
datamodule1.Query.SQL.Clear;
datamodule1.Query.SQL.Add('INSERT INTO Jogadores(Nick,Nome do Jogador,Idade do Jogador, Data de Entrada) VALUES(:nick, :nome, :dataentrada, :idadedojogador)');
datamodule1.Query.Parameters.ParamByName('Nick').Value:=nick;
datamodule1.Query.Parameters.ParamByName('Nome do Jogador').Value:=nome;
datamodule1.Query.Parameters.ParamByName('Idade do Jogador').Value:=idadedojogador;
datamodule1.Query.Parameters.ParamByName('Data de Entrada').Value:=dataentrada;
datamodule1.Query.ExecSQL;Vise que, vou utilizar esse procedimento para enviar dados para meu Banco de Dados, vou colocar essa procedimento em um button, configurando +- dessa maneira
inserirdados(txtnick.text, textnome.text, txtdataentrada.text, txtidadedojogador.text
Mas, neste meu formulario especifico, ele nao possui um edit para transferir o que foi digitado para o parametro nome, logo, como faco para "tirar" esse parametro dentro da procedure para que fosse executado como eu quero, tipo assim
inserirdados(txtnick.text, null, txtdataentrada.text, txtidadedojogador.text
..
Será que entendem como explico? A ideia é, de forma resumida, nao usar um dos parametros dentro do procedimento, e sim apenas alguns deles, e o restante é como se "nao valesse", como se pula-se um parametro porque nao tenho aonde receber dados nele, para posteriormente, no meu caso, passa-los ao banco de dados..
Grato!
Alexandre
Curtidas 0
Melhor post
Katrym Bertotti
06/06/2014
Bom dia,
você pode inicializar o parâmetro dentro do procedimento, ex:
procedure tfrm_principal.inserirdados(nick, dataentrada:string; idadedojogador:integer;nome:string='');
e faz a chamada sem o parâmetro:
inserirdados(txtnick.text, txtdataentrada.text, strtoint(txtidadedojogador.text));
você pode inicializar o parâmetro dentro do procedimento, ex:
procedure tfrm_principal.inserirdados(nick, dataentrada:string; idadedojogador:integer;nome:string='');
e faz a chamada sem o parâmetro:
inserirdados(txtnick.text, txtdataentrada.text, strtoint(txtidadedojogador.text));
GOSTEI 1
Mais Respostas
Mauricio Rodrigues
06/06/2014
Como você criou
procedure tfrm_principal.inserirdados(nick:string; nome:string; dataentrada:string; idadedojogador:integer);
Quatro item em sua procedure você deve passar quatro item para ela.
Como mencionou não tem o campo nome vc pode resolver das seguintes maneiras:
Retirando o campo da declaração da procedure ou passar em branco desta forma
inserirdados(txtnick.text,'', txtdataentrada.text, strtoint(txtidadedojogador.text));
note que tem ('') no campo nome, assim totaliza os quatro parametros.
procedure tfrm_principal.inserirdados(nick:string; nome:string; dataentrada:string; idadedojogador:integer);
Quatro item em sua procedure você deve passar quatro item para ela.
Como mencionou não tem o campo nome vc pode resolver das seguintes maneiras:
Retirando o campo da declaração da procedure ou passar em branco desta forma
inserirdados(txtnick.text,'', txtdataentrada.text, strtoint(txtidadedojogador.text));
note que tem ('') no campo nome, assim totaliza os quatro parametros.
GOSTEI 1
Alexandre
06/06/2014
Agradeço! Resolvido da maneira que aqui foi apresentada, pelos dois colegas.
GOSTEI 0