ADOTable

28/01/2006

La vou eu de novo!
Bem problema agora é com as ADOTable.
Tenho um form e nele tem varios ADOTable´s e gostaria de fazer uma procedure para contar essas tabelas e abri-las!

Alguem tem alguma idéia??


Caezar

Respostas

28/01/2006

Macario

Ola faça uso de [b:8baec7d171]type cast[/b:8baec7d171]

exemplo no onCreate do form:

for x := 0 to ComponentCount - 1 do begin if Components[x] is TADOTable then begin TADOTable(Components[x]).Open; end;


espero que ajude.


Responder Citar

28/01/2006

Caezar

Então amigo eu fiz assim:
Obs:
[b:2d5b736a71]Util.strConex[/b:2d5b736a71] [i:2d5b736a71]é uma variavel que guarda a sting de conexão.[/i:2d5b736a71]
procedure TformMain.abreTabelas(formSolicitante:TForm);
var
msg:string;
iCont:Integer;
begin
  for iCont:=0 to formSolicitante.ComponentCount-1 do
    begin
      if formSolicitante.Components[iCont&93; is TADOTable then
      begin
        TADOTable(formSolicitante.Components&91;iCont&93;).Active:=false;
        TADOTable(formSolicitante.Components&91;iCont&93;).ConnectionString:=Util.strConex;
        ShowMessage(TADOTable(formSolicitante.Components&91;iCont&93;).Name);
        ShowMessage(TADOTable(formSolicitante.Components&91;iCont&93;).ConnectionString);
        Try
          TADOTable(formSolicitante.Components&91;iCont&93;).Active:=True;
        except
        on E:Exception do
          begin
          msg := ´Não foi possível abrir as tabelas do ´;
          msg := msg + ´sistema : (´ + E.Message + ´)!´;
          MessageDlg(msg, mtError, [mbOk&93;,0);
          exit;
          end;
        end;
      end;
    end;
end;

Eu analizei o código atravéz do dois ShowMessage´s, e a tabela recebe corretamente a string de conexão atravéz do Util.strConex mas na hora que ele tenta ativar a tabela dá o seguinte erro:
[b:2d5b736a71]Missing Connection or ConnectionString.[/b:2d5b736a71]


Responder Citar

28/01/2006

Martins

A String de conexão está correta? Foi testada antes fora desse metodo que vc está implementando?


Responder Citar

28/01/2006

Caezar

Está assim pq ela abre todas as tabelas do prog!
Estranho né?


Responder Citar

29/01/2006

Macario

Bom [b:b0b0bdd129]caezar[/b:b0b0bdd129] qual é o seu banco?

não conheço muito sobre conexão via ADO, quando você esta passando o ADOConnection? o banco esta ativo? a conexão com o banco ja esta ativa?


Responder Citar

29/01/2006

Martins

Está assim pq ela abre todas as tabelas do prog! Estranho né?

Tudo bem, então veja seu AdoConnection, como ele se chama?

Ele está devidamente configurado?


Responder Citar