Ir ao conteúdo
  • Cadastre-se

Duvida com o banco de dados no Delphi


edersonsergiocoelho

Posts recomendados

Bom gente eu to fazendo um pequeno programa uma agenda tal que contem nome, sobrenome, telefofe, celular e e-mail bem simples eu to tendo um problema quando eu gravo os dados do cadastro ele não aparece na consulta logo que eu faço o cadastro para aparecer precisa fechar e abrir o programa novamente eu ja tentei achar em tudo que lugar e ate agora não achei solução para esse problema alguem pode me ajudar ? e eu gostaria de saber o comando para a consulta sair apenas o que eu estou pesquisa por exemplo pesquisar pelo nome francisco so mostrar os cadastros com esse nome tipo uma pesquisa em ajax eu sei que tem como eu ja vi meu professor fazendo ?

Link para o comentário
Compartilhar em outros sites

Esse não funciona tambem não, eu ponho nos eventos FormShow ADOTABLE.OPEN; e tambem no evento FormClose; ADOTABLE.CLOSE; como você mesmo faz mais isso ae tambem não funciona eu faço tambem a mesma coisa com a conexão com o banco de dados nos dois eventos ADOCONNECTION.OPEN E CLOSE; e isso tambem não resolve não eu não sei que acontece que esse negocio.

Link para o comentário
Compartilhar em outros sites

Ah amigo valeu pela dica eu não tinha pensando nisso antes eu tava fazendo assim no evento OnClose colocando para fechar a conexão e a Query e no evento OnShow para abrir a conexão e a Query e infelizmente desse jeito não tava dando certo mais agora desse jeito consegui no evento OnShow fechao e abro a Query e ae da certo...

Link para o comentário
Compartilhar em outros sites

E agora sera que vocês podiam me ajudar o outro problema que queria resolver não exatamente um problema queria que minha pesquisa ficasse tipo em Ajax você vai digitando as letras e ae vai aparecendo so aquelas pessoas que começam com aquelas letras, pelo que eu tava vendo em alguns site da para fazer com o metodo Like do MySQL mais não achei nada bem explicativo...

Link para o comentário
Compartilhar em outros sites

Cara tu sabe programar mesmo? Tem umas vídeos aula que ensina isso.

você quer pesquisar na tabela e determinado campo? tipo isso

DataSourceGrid.DataSet.Locate(GridExibicao.Columns.Items[col].FieldName,EdtBusca.Text,[LoPartialKey, loCaseInsensitive]);

Se for no dbedit é só trocar ou no edit.

Link para o comentário
Compartilhar em outros sites

então cara para esse problema você deve usar o like do mysql..

exemplo:

você quer pegar todos os registros que comecem com tal letra:

produtos where marca like(edit1.text+'%');

você quer pegar todos os registros que contem tal letra:

produtos where marca like('%'+edit1.text+'%');

você quer pegar todos os registros que terminam com tal letra:

produtos where marca like('%'+edit1.text);

é mais ou menos assim veio...

Link para o comentário
Compartilhar em outros sites

Eu não sei programar muito em Delphi estou tentando aprender sozinho mesmo então é complicado, então o tipo de pesquisa que eu quero fazer é com o Edit e mostra no Grid eu ja tenho uma pesquisa mais não esta do jeito que eu quero eu quero que fica deste jeito vai digitando e vai aparecendo e eu queria que vocês me desse uma ideia melhor como fazer pois eu não sei...

Link para o comentário
Compartilhar em outros sites

Eu não sei programar muito em Delphi estou tentando aprender sozinho mesmo então é complicado, então o tipo de pesquisa que eu quero fazer é com o Edit e mostra no Grid eu ja tenho uma pesquisa mais não esta do jeito que eu quero eu quero que fica deste jeito vai digitando e vai aparecendo e eu queria que vocês me desse uma ideia melhor como fazer pois eu não sei...

então cara tente postar o que você ja fez dae nos editamos ele ...

fica bem mais fácil do que alguem postar um codigo completo pra tu...

abraços

Link para o comentário
Compartilhar em outros sites


unit UnitConsultaAgenda;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls;

type
TFormConsultaAgenda = class(TForm)
EditNome: TEdit;
LabelNome: TLabel;
ADOConnectionConsultaAgenda: TADOConnection;
DBGridConsultaAgenda: TDBGrid;
ADOQueryConsultaAgenda: TADOQuery;
DataSourceConsultaAgenda: TDataSource;
procedure EditNomeChange(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
FormConsultaAgenda: TFormConsultaAgenda;

implementation

{$R *.dfm}

procedure TFormConsultaAgenda.EditNomeChange(Sender: TObject);
begin
ADOQueryConsultaAgenda.Locate('Nome',EditNome.Text,[loPartialKey, loCaseInsensitive]);
ADOQueryConsultaAgenda.Locate('Sobrenome',EditNome.Text,[loPartialKey, loCaseInsensitive]);
end;

procedure TFormConsultaAgenda.FormShow(Sender: TObject);
begin
ADOQueryConsultaAgenda.Close;
ADOQueryConsultaAgenda.Open;
end;

end.

Aqui esta todo o codigo da minha unit no Delphi...

Link para o comentário
Compartilhar em outros sites

bom no meu caso eu faria +- assim:(não me lembro bem da estrutura certa)

procedure TFormConsultaAgenda.EditNomeChange(Sender: TObject);
begin
query_busca.sql.add('select * from agenda where nome like=(edit1.text+'%')');
end;

essa consulta traria todos os clientes que comecem com tal letra..

você pode perceber que primeiro vem o conteudo do edit para depois vim o sinal de porc.

caso você queira os clientes que contem tal letra tando no final como no começo seria assim:

procedure TFormConsultaAgenda.EditNomeChange(Sender: TObject);
begin
query_busca.sql.add('select * from agenda where nome like=('%'+edit1.text+'%')');
end;

seria mais ou menos assim o seu caso..

tente aplicar isso dae você posta pra gente.

abraçoss

Link para o comentário
Compartilhar em outros sites

procedure TFormConsultaAgenda.EditNomeChange(Sender: TObject);

begin

ADOQueryConsultaAgenda.SQL.Add('Select *From Agenda Where Nome Like = ' + (EditNome.Text + '%'));

end;

É Desse Jeito Que Coloquei...

quando você faz uma consulta usando query ele logo traz o resultado..

mais você ta mostrando o resultado em um dbgrid???

e tente mudar o evendo para onclick de um botao..


ADOQueryConsultaAgenda.SQL.Add('Select *From Agenda Where Nome Like = '+Quotedstr (EditNome.Text + '%'));

Link para o comentário
Compartilhar em outros sites

Sim to mostrando o resultado em um DBGrid como faço para fazer a pesquisar clicando em um botão ? so coloco esse codigo no botão que eu adicionar ? no Evento OnClick ?

simsim...você faz o mesmo processo só q no evento do button..

mas não eskeça de verificar certinhu as conexões com o banco de dados..

dar um true na opção active dos componente.s

qualquer coisa poste ae..

Link para o comentário
Compartilhar em outros sites

Sim,não amigo você digita qualquer letra e some todos os registros as colunas da tabela somem todas como você fechasse a Query...

estranho veio..porque c fosse problema de query ele dava erro e fexava o form...

poste seu codigo inteiro pra mim dar uma analisada nele..

...

obs:acho que é problema de banco de dados...

abraços

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!