Dúvida sobre tabelas

13/01/2006

Olá galera tudo bem? Não sei se este é o local certo para postar a minha dúvida mas vamos lá...
Eu fiz uma programação para conectar ao banco vai programação, ou seja, o kra coloca dentro de alguns Edit´s o LOGIN a SENHA e NOME_DO_ALIAS. Quando ele clicar em conectar ele conecta normalmente... até aí tudo bem :D
O Problema vem agora...
Eu quero fazer o seguinte, colocar dois MEMO (ou outro componente), um do lado esquero e um do lado direito, e quando clicar no botão para conectar ao banco e ele mostre no MEMO do lado esquerdo todas as tabelas deste banco. E quando ele clicar na tabela eu gostaria que no MEMO do lado direito mostrasse todos os campos desta tabela.

Será que tem jeito de fazer isto?

Ah... eu estou usando o banco SQL Server e programa conecta com o banco via BDE.


Prof. Baco

Respostas

13/01/2006

Steve Narancic

ao inves de memo utilize listbox e

- no after open do database coloque o seguinte codigo:
database.GetTableNames(Listbox1.items)


- no Onclick do listbox1 coloque
database.GetFieldNames(listbox1.items.strings[listbox1.itemindex&93;, lisbox2.items);


espero ter ajudado


Responder Citar

13/01/2006

Prof. Baco

Kra ficou perfeito...
Mas agora estou com uma dúvida....

Como eu posso ordernar as tabelas por ordem alfabética.....????


Obrigado....


Responder Citar

13/01/2006

Steve Narancic

Altere a propriedade sorted do listbox para true


Responder Citar

13/01/2006

Prof. Baco

Kra muito, mas muito obrigado mesmo pela dica, funcionou perfeitamente...

Estou ajeitando as coisas aqui....

Mas agora eu tive uma dúvida...

Como eu faço para que um novo LISTBOX, armazema os campos em que eu clicar, ou seja...

No Listbox1 tenho as tabelas no Listbox2 tenho os campos desta tabela... agora eu gostaria de saber o sequinte.. como eu faço para que quando eu clicar no Listbox2 onde se encontra os campos o Listbox3 grave TABELA.CAMPO?
Tentei fazer isto:
ListBox3.AddItem(ListBox1.itemindex+´.´+ListBox2.itemindex);

Mas deu erro falando: [i:008f99d626]incompatible type[/i:008f99d626]
Depois eu tentei este aqui:
ListBox3.AddItem(ListBox1.itemindex+ListBox2.itemindex);

Mas deu o erro: [i:008f99d626]incompatible type: String and Integer[/i:008f99d626]

Será que vc pode me ajudar nesta outra dica...

Fico grato...


Responder Citar

13/01/2006

Steve Narancic

ListBox3.items.add(ListBox1.items.strings[listbox1.itemindex&93; + ´.´ + ListBox2.items.strings&91;listbox2.itemindex&93;)



Responder Citar

13/01/2006

Prof. Baco

Bicho deu certinho.....

Agora uma última pergunta......

Dentro desta LISTBOX3 eu tenho o seguinte:
TABELA1.CAMPO
TABELA2.CAMPO
TABELA3.CAMPO
TABELA4.CAMPO

Com este campos eu gostaria de montar um script SQL... ou seja ele montasse pra mim um script já pre configurado, dentro de um MEMO ou de até mesmo ou outo LISTBOX (não se se isto é certo)... Será que tem como? Tentei fazer isto mas não sei se é correto:
procedure Tfrm_exportacao.Button1Click(Sender: TObject);
var
i : integer;
begin
Memo3.Lines.Add(´select ´);
for i:= 0 to ListBox3.Count do
  begin
    Memo3.Lines.Add(ListBox3.items.strings[listbox1.itemindex&93;);
  end;
end;

Espero não estar lhe incomodando... as suas outras dicas funcionaram perfeitamente.


Responder Citar

13/01/2006

Steve Narancic

procedure Tfrm_exportacao.Button1Click(Sender: TObject);
var
i : integer;

begin
 Memo3.Lines.Add(´select ´);
 for i:= 0 to ListBox3.Count -1 do
 begin
    Memo3.Lines.Add(ListBox3.items.strings[i&93; + ´,´);
  end;
end;


não cheguei a testar, mas acho que vai dar certo


Responder Citar

13/01/2006

Prof. Baco

Vai dar não... deu certo.....

Melhor que isto impossível....

Muito, mas muito obrigado mesmo pela ajuda.....

Eu sei pouco + se precisar.... (que coisa heim, até parece...)

Mas valeu... obrigado mesmo...


Responder Citar