Array
(
)

ADOTable

Caezar
   - 28 jan 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??


Macario
   - 28 jan 2006

Ola faça uso de type cast

exemplo no onCreate do form:


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


espero que ajude.


Caezar
   - 28 jan 2006

Então amigo eu fiz assim:
Obs:
Util.strConex é uma variavel que guarda a sting de conexão.
#Código

procedure TformMain.abreTabelas(formSolicitante:TForm);
var
msg:string;
iCont:Integer;
begin
for iCont:=0 to formSolicitante.ComponentCount-1 do
begin
if formSolicitante.Components[iCont] is TADOTable then
begin
TADOTable(formSolicitante.Components[iCont]).Active:=false;
TADOTable(formSolicitante.Components[iCont]).ConnectionString:=Util.strConex;
ShowMessage(TADOTable(formSolicitante.Components[iCont]).Name);
ShowMessage(TADOTable(formSolicitante.Components[iCont]).ConnectionString);
Try
TADOTable(formSolicitante.Components[iCont]).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],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:
Missing Connection or ConnectionString.


Martins
   - 28 jan 2006

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


Caezar
   - 28 jan 2006

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


Macario
   - 29 jan 2006

Bom caezar 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?


Martins
   - 29 jan 2006


Citação:
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?