GARANTIR DESCONTO

Fórum ADOConnection e ADOQuery #178873

01/09/2003

0

Fala ai pessoal, blz..?!
Galera, já programei em Delphi mas isso faz mtooo tempo e como depois fui Para o VB nunca mais mexi em Delphi.... por isso eu estou precisando de uma ajuda nos componentes ADOConnection e ADOQuery.

Alguém poderia me ajudar na parte de Alteração, Exclusão, Inserção e Consulta utilizando esses componentes...?!

Desde já agradeço pela atenção....


Brenerfa

Brenerfa

Responder

Post mais votado

01/09/2003

Pessoal está dando um erro de Violação de memória... Olhem o Código

procedure TForm1.btnLogarClick(Sender: TObject);
begin
        if btnLogar.Enabled = true then
           begin
              try
                oCn.Connected := True;
                with qryQuery do
                   begin
                      Connection := oCn;
                      Active := True;
                      Close;
                      SQL.Clear;
                      SQL.Add(´SELECT * FROM TblFunc WHERE ´);
                      SQL.Add(´Login = "´+ edtLogin.Text +´" and Senha = "´+ edtSenha.Text +´"´);
                      Open;
                      if not Eof then
                         Begin
                                ShowMessage(FieldByName(´CodFunc´).Value);
                         end
                      else
                         Begin
                                ShowMessage(´Registro não encontrado´);
                                edtLogin.Clear;
                                edtSenha.Clear;
                         end;
                      Active := false;
                      Free;
                   end;
                   oCn.Connected := false;
                   oCn.Free;
              Except
                ShowMessage(´Com Erro´);
              end;
           end;
end;
[/code]


Brenerfa

Brenerfa
Responder

Gostei + 1

Mais Posts

01/09/2003

Wbb

Bom, é bem logo, mas vamos ver se consigo te audar. Siga os passos abaixo:


1- Vá à guia de controles, ADO;

2- Adicione o controle ADOConnection;

3- Acesse a propriedade ConnectionString no Object Inspector, clique no botão ´...´ (à direita) desta propriedade e, na janela apresentada, clique no botão ´Build...´. Será apresentada uma segunda janela: ´Data Link Properties´. Nesta janela, acesse a guia ´Provider´. É apresentada uma lista de tipos de bancos de dados aos quais você pode se conectar através das ferramentas ADO. Selecione ´Microsoft Jet 4.0 OLE DB Provider´, que se refere ao banco de dados do Access. Em seguida clique no botão ´Next´, que o direcionará para a guia ´Connection´. No campo 1 da guia ´Connection´, indique onde esta o arquivo de banco de dados do Access que você deseja acessar. Após, apenas clique no botão ´Test Connection´ para verificar se está tudo OK. Se estiver tudo certo, ou seja, se não retornar uma mensagem de erro após o teste, clique no botão OK da janela ´Data Link Properties´. Clique no botão OK também da primeira janela apresentada no início da configuração da propriedade ConnectionString;

4- Adicione um controle ADOQuery;

5-Na propriedade ´Connection´, do Object Inspector, selecione ADOConnection1;

6- Acesse a propriedade SQL do ADOQuery, e insira a seguinte linha (por ex.):
Select * from NomeDaTabela

Onde: NomeDaTabela, é o nome da tabela contida em seu banco de dados.
Essa propriedade deve ser preenchida apenas para que o programa funcione, pois na realidade, você terá que manipular a propriedade SQL através de código, sempre que for necessário fazer uma consulta, uma edição de campos, etc.

Pronto! Agora você está apto a começar sua programação e acesso ao banco de dados.

Para exemplo de utilização da ferramenta, abra uma nova aplicação no Delphi e insira um TButton e um ListBox. Acesse o evento OnClick do TButton e escreva o seguinte código:

procedure TForm2.Button1Click(Sender: TObject);
begin
//Localizar registros num banco de dados qualquer

ADOConnection1.Connected := true;
ADOQuery1.Active := true;

AdoQuery1.close;
AdoQuery1.SQL.Clear;
AdoQuery1.sql.Add(´Select NomeDoCampo from NomeDaTabela´);
AdoQuery1.open;

while (not AdoQuery1.Eof) do
begin
Listbox1.Items.add(AdoQuery1.FieldValues[´NomeDoCampo´]);
AdoQuery1.Next;
end;

ADOQuery1.Active := false;
ADOConnection1.Connected := false;
ADOQuery1.Free;
ADOConnection1.Free;

end;



Sobre o código, grosso modo, ele faz com que sejam conectados seu programa com o banco de dados, pesquisa e localiza todas as ocorrências em todos os registros apenas para o campo ´NomeDoCampo´, dentro da tabela ´NomeDaTabela´, e adiciona-os no ListBox. Em seguida desfaz a conexão. Assim, adicionando-se mais parâmetros ao filtro SQL, você poderá refinar sua busca.

Para adicionar um registro, insira outro TButton e acesse seu evento OnClick. Neste evento, escreva:


procedure TForm2.Button2Click(Sender: TObject);
begin
// Adição de novo registro ao banco de dados.

ADOConnection1.Connected := true;
ADOQuery1.Active := true;
ADOQuery1.Append;
ADOQuery1.FieldValues[´NomeDoCampo1´]:= 9991; // Campo NomeDoCampo1 é numérico
ADOQuery1.FieldValues[´NomeDoCampo2´]:= ´BLABLABLA´; // Campo NomeDoCampo2 é string
ADOQuery1.FieldValues[´NomeDoCampo3´]:= ´01/01/01´; // Campo NomeDoCampo3 é data
ADOQuery1.Post;
ADOQuery1.Active := false;
ADOConnection1.Connected := false;

end;


Nesse código, tudo se passa mais ou menos como no código anterior. Não é necessário que você forneça conteúdo a cada um dos campos de seu banco de dados. Forneça todos apenas se lhe for necessário, senão forneça apenas os que lhe interessa e os demais campos da tabela, neste novo registro que está sendo adicionado, serão considerados nulos.


Para editar um registro, insira um terceiro botão no seu form. No evento OnClick, escreva:


procedure TForm2.Button3Click(Sender: TObject);
begin
// Edição de registros do banco de dados

ADOConnection1.Connected := true;
ADOQuery1.Active := true;

AdoQuery1.close;
AdoQuery1.SQL.Clear;
AdoQuery1.sql.Add(´Select NomeDoCampo1, NomeDoCampo2 from NomeDaTabela Where NomeDoCampo1 = 989899´); //NomeDoCampo1 é um campo do tipo numérico
AdoQuery1.open;

ADOQuery1.Edit;
ADOQuery1.FieldValues[´NomeDoCampo2´]:= ´tESTEtESTEtESTE´; // NomeDoCampo2 é um campo do tipo string
ADOQuery1.Post;

ADOQuery1.Active := false;
ADOConnection1.Connected := false;
ADOQuery1.Free;
ADOConnection1.Free;

end;


E é isso aí.
Acredito que este seja o básico e essencial para manipulação de bancos de dados com as ferramentas ADO. Elas servem para manipular vários tipos de bancos de dados.


Espero que resolva.


Responder

Gostei + 1

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar