ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Invalid Source Array - ODBC

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
toshiye
Novato
Novato


Registrado: Terça-Feira, 28 de Agosto de 2018
Mensagens: 2

MensagemEnviada: Ter Ago 28, 2018 4:56 pm    Assunto: Invalid Source Array - ODBC Responder com Citação

Boa tarde a todos, sou novo no fórum e também novo em programação.
Recentemente me pediram para criar um projeto até bem simples na verdade, porém, me "sugeriram" que usasse o PostgreSQL como banco de dados.
Tive um pouco de dificuldades para conectar com o FireDac e optei pelo ODBC.
Ok, programa criado e banco conectado, inserindo, excluindo, editando, enfim, faço quase tudo no banco menos, pesquisar, toda vez me aparece o erro Invalid Source Array.
Não sei exatamente onde está o meu erro, poderiam me ajudar por favor?
o Delphi é o Tokyo.
PostgreSQL na versão mais recente.
Os componentes ODBC(DBGO) - TADOConnection e TADOTable.
Uso Win10 64
Segue o código do botão de pesquisa:

procedure TfrmMain.sbtnPrintSearchClick(Sender: TObject);
begin
dmPrint.adoChange.Close;
case cbxPrintSearch.ItemIndex of
0 : dmPrint.adoChangesetor.AsString := 'SELECT SETOR FROM TROCA WHERE SETOR ='+QuotedStr('%'+edtPrintSearch.ToString+'%');
1 : dmPrint.adoChangemarca.AsString := 'SELECT MARCA FROM TROCA WHERE MARCA ='+QuotedStr('%'+edtPrintSearch.ToString+'%');
2 : dmPrint.adoChangemodelo.AsString := 'SELECT MODELO FROM TROCA WHERE MODELO ='+QuotedStr('%'+edtPrintSearch.ToString+'%');
end;
dmPrint.adoChange.Open;
end;

A é, a pesquisa será com base em um ComboBox.

Se eu não expliquei direito ou se faltou alguma coisa me desculpem , eu corrijo conforme as dúvidas.

Desde já agradeço imenso qualquer ajuda que vier.


Cordialmente.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 3093
Localização: Belo Horizonte - MG

MensagemEnviada: Qua Ago 29, 2018 9:45 am    Assunto: Responder com Citação

O componente dmPrint.adoChange é um TADOTable?

Se for, este componente não suporta SQL, troque pelo componente TADOQuery.

Exemplo de como ficaria seu código trocando dmPrint.adoChange para TADOQuery.

Código:
procedure TfrmMain.sbtnPrintSearchClick(Sender: TObject);
begin
  dmPrint.adoChange.Close;

  case cbxPrintSearch.ItemIndex of
    0:
      dmPrint.adoChange.SQL.Text := 'SELECT SETOR FROM TROCA WHERE SETOR =' +
        QuotedStr('%' + edtPrintSearch.Text + '%');
    1:
      dmPrint.adoChange.SQL.Text := 'SELECT MARCA FROM TROCA WHERE MARCA =' +
        QuotedStr('%' + edtPrintSearch.Text + '%');
    2:
      dmPrint.adoChange.SQL.Text := 'SELECT MODELO FROM TROCA WHERE MODELO =' +
        QuotedStr('%' + edtPrintSearch.Text + '%');
  end;

  dmPrint.adoChange.Open;
end;

_________________
''A persistência é o caminho para o êxito.''
Charlie Chaplin
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
toshiye
Novato
Novato


Registrado: Terça-Feira, 28 de Agosto de 2018
Mensagens: 2

MensagemEnviada: Qua Ago 29, 2018 11:16 am    Assunto: Responder com Citação

Vlw Natan, deu certo aqui, me ajudou muito.
Muito obrigado mesmo.

Abraço.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB