 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
toshiye Novato

Registrado: Terça-Feira, 28 de Agosto de 2018 Mensagens: 2
|
Enviada: Ter Ago 28, 2018 4:56 pm Assunto: Invalid Source Array - ODBC |
|
|
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 |
|
 |
natanbh1 Colaborador

Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Qua Ago 29, 2018 9:45 am Assunto: |
|
|
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 |
|
 |
toshiye Novato

Registrado: Terça-Feira, 28 de Agosto de 2018 Mensagens: 2
|
Enviada: Qua Ago 29, 2018 11:16 am Assunto: |
|
|
Vlw Natan, deu certo aqui, me ajudou muito.
Muito obrigado mesmo.
Abraço. |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|