Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Russim

Erro: missing sql property

Recommended Posts

bom pessoal estou desenvolvendo um pequeno sistema em delphi, mais para aprender mesmo, pois nao possuo muito conhecimento em delphi

uma parte do sistema é o cadastro de empresa

quando tento inserir o cadastro no bando de dados (access) apresenta o seguinte erro: missing sql property

o código é o seguinte:

 

Function Fun_InsereCadEmpresa(codEmpresa, cgcMf, inscEst, nomeContrib, municipio, uf, fax,
							dataInicial, dataFinal, codConvenio, codOperacao, codFinalidade,
							logradouro, numero, complemento, bairro, cep, nomeContato,
							telefone : String) : String;
  begin
	try
	  try
		Form1.qryCadEmpresa.Close;
		Form1.qryCadEmpresa.Open;
		Form1.qryCadEmpresa.Insert;
		Form1.qryCadEmpresa.ClearFields;
		Form1.qryCadEmpresa.SQL.Add('INSERT INTO tcfDadosEmpresa (codEmpresa, cgcMf,');
		Form1.qryCadEmpresa.SQL.Add('inscEst, nomeContrib, municipio, uf, fax, dataInicial,');
		Form1.qryCadEmpresa.SQL.Add('dataFinal, codConvenio, codOperacao, codFinalidade,');
		Form1.qryCadEmpresa.SQL.Add('logradouro, numero, complemento, bairro, cep,');
		Form1.qryCadEmpresa.SQL.Add('nomeContato, telefone) VALUES(null, :pcgcMF, :pinscEst,');
		Form1.qryCadEmpresa.SQL.Add(':pnomeContrib,:pmunicipio, :puf, :pfax, :pdataInicial, :pdataFinal,');
		Form1.qryCadEmpresa.SQL.Add(':pcodConvenio, :pcodOperacao, :pcodFinalidade,');
		Form1.qryCadEmpresa.SQL.Add(':plogradouro, :pnumero, :pcomplemento, :pbairro, :pcep');
		Form1.qryCadEmpresa.SQL.Add(':pnomeContato, :ptelefone);');
		Form1.qryCadEmpresa.Parameters.ParamByName('cgcMf').Value := cgcMf;
		Form1.qryCadEmpresa.Parameters.ParamByName('inscEst').Value := inscEst;
		Form1.qryCadEmpresa.Parameters.ParamByName('nomeContrib').Value := nomeContrib;
		Form1.qryCadEmpresa.Parameters.ParamByName('municipio').Value := municipio;
		Form1.qryCadEmpresa.Parameters.ParamByName('uf').Value := uf;
		Form1.qryCadEmpresa.Parameters.ParamByName('fax').Value := StrToInt(fax);
		Form1.qryCadEmpresa.Parameters.ParamByName('dataInicial').Value := dataInicial;
		Form1.qryCadEmpresa.Parameters.ParamByName('dataFinal').Value := dataFinal;
		Form1.qryCadEmpresa.Parameters.ParamByName('codConvenio').Value := StrToInt(codConvenio);
		Form1.qryCadEmpresa.Parameters.ParamByName('codOperacao').Value := StrToInt(codOperacao);
		Form1.qryCadEmpresa.Parameters.ParamByName('codFinalidade').Value := StrToInt(codFinalidade);
		Form1.qryCadEmpresa.Parameters.ParamByName('logradouro').Value := logradouro;
		Form1.qryCadEmpresa.Parameters.ParamByName('numero').Value := StrToInt(numero);
		Form1.qryCadEmpresa.Parameters.ParamByName('complemento').Value := complemento;
		Form1.qryCadEmpresa.Parameters.ParamByName('bairro').Value := bairro;
		Form1.qryCadEmpresa.Parameters.ParamByName('cep').Value := cep;
		Form1.qryCadEmpresa.Parameters.ParamByName('nomeContato').Value := nomeContato;
		Form1.qryCadEmpresa.Parameters.ParamByName('telefone').Value := StrToInt(telefone);
		Form1.qryCadEmpresa.ExecSQL;
		Form1.qryCadEmpresa.Open;
		Form1.qryCadEmpresa.Post;
		Result:= 'Registro Inserido Com Sucesso!';
	  except
		on E: Exception do
		  ShowMessage(E.ClassName + '----------' + E.Message);
	end;//try
	finally
	  Form1.qryCadEmpresa.SQL.Clear;
	  Form1.ADOConnection1.Close;
	end;//finally
  end; //Fun_InsereCadEmpresa

e o código da chamada para o método:

procedure TForm1.btnSalvarClick(Sender: TObject);
begin
  try
	ShowMessage(
	Fun_InsereCadEmpresa(txtCodEmpresa.Text, txtCGCCNPJ.Text, txtInscEstatual.Text, txtNomeContribuinte.Text,
						 txtMunicipio.Text, cbxUF.Text, txtFAX.Text, txtDataInicial.Text, txtDataFinal.Text,
						 txtCodConvenio.Text, txtCodOperacao.Text, txtCodFinalidade.Text, txtLogradouro.Text,
						 txtNumero.Text, txtComplemento.Text, txtBairro.Text, txtCEP.Text,
						 txtNomeContato.Text, txtTelefone.Text));
  except
	on E: Exception do
	ShowMessage('Erro ao Cadastrar! Erro: ' + E.ClassName + ' / ' + E.Message);
  end;
end;

aguardo ajuda

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você colocou dois comandos conflitantes aqui neste trecho:

 

Form1.qryCadEmpresa.ExecSQL;
	 Form1.qryCadEmpresa.Open;
	 Form1.qryCadEmpresa.Post;

Quando se executa Inserts, updates e deletes, não se usa Open e Post. Deixa só o ExecSQL e tenta novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro colega...

Esses comandos tbm não são necessários...

 

 

Form1.qryCadEmpresa.Open;

Form1.qryCadEmpresa.Insert;

 

e se sua Qry não tem os campos pre determinados, não há a necessidade desta linha

 

Form1.qryCadEmpresa.ClearFields;

 

 

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.