| thaita Novato
 
  
 
 Registrado: Sábado, 26 de Novembro de 2022
 Mensagens: 44
 
 
 | 
			
				|  Enviada: Seg Set 25, 2023 10:52 am    Assunto: RESOLVIDO - ERRO  "Dataset não está em modo de edição ou |   |  
				| 
 |  
				| Meus Prezados, Criei uma pesquisa por nome usando um TEdit e um TcomboBox com as opções: 0- Todos, 1 - Fornecedor, 2 - Parceiro Agrícola e 3 - Cliente. Estou usando a conexão e Query com interfaces, mas a pesquisa não esta funcionando.Quando clico no botão de pesquisa, depois de inserir no TEdit o nome para pesquisa e seleciono a opção qualquer no TComboBox, aparece a mensagem.  "Dataset não está em modo de edição ou inserção". Segue o código criado na Entidade e o código de chamada no botão. ALGUÉM PODE ME AJUDAR A CORRIGIR? AGRADEÇO DESDE JÁ.
 
 TModelEntidadePessoa.PesquisarPorTipoCadastro(TipoCadastro: string);
 var
 SQL: string;
 begin
 SQL := 'SELECT NOME, TIPOCADASTRO ' +
 'FROM PESSOA ';
 
 if TipoCadastro <> 'Todos' then
 SQL := SQL + 'WHERE TIPOCADASTRO = :TipoCadastro';
 
 FQuery.Dataset.Close;
 FQuery.Dataset.ClearFields;
 FQuery.SQL(SQL);
 
 if TipoCadastro <> 'Todos' then
 FQuery.Dataset.FieldByName('TipoCadastro').AsString := TipoCadastro;
 
 FQuery.Dataset.Open;
 end;
 
 -x-x--x-x-x-x-x--x-x-x-x-x
 
 
 Na chamada do botão em outra Unit.
 // Obtenha o valor selecionado no ComboBox cbTipo
 if cbTipoConsulta.ItemIndex >= 0 then
 begin
 case cbTipoConsulta.ItemIndex of
 0: FPessoa.PesquisarPorTipoCadastro('Todos');
 1: FPessoa.PesquisarPorTipoCadastro('Fornecedor');
 2: FPessoa.PesquisarPorTipoCadastro('Parceiro Agrícola');
 3: FPessoa.PesquisarPorTipoCadastro('Cliente');
 end;
 end;
 -x-x-x-x-x--x-x-x-x-x-x
 
 "Help Nóis". Obrigado.
 
 Editado pela última vez por thaita em Qua Set 27, 2023 8:06 am, num total de 1 vez
 |  | 
	
		| natanbh1 Colaborador
 
  
 
 Registrado: Terça-Feira, 15 de Março de 2011
 Mensagens: 3093
 Localização: Belo Horizonte - MG
 
 | 
			
				|  Enviada: Ter Set 26, 2023 10:28 am    Assunto: |   |  
				| 
 |  
				| Faça um Debug para saber em que linha ocorre o erro. 
 O procedimento postado de consulta SQL não ocasiona o erro informado que normalmente ocorre ao tentar editar ou inserir em uma tabela antes de dar um Insert/Append ou Edit.
 
 Provavelmente o erro ocorre em outro evento do seu código após essa consulta SQL.
 _________________
 ''A persistência é o caminho para o êxito.''
 Charlie Chaplin
 |  |