Array
(
)

Dúvida sobre tabelas

Prof. Baco
   - 13 jan 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.


Steve Narancic
   - 13 jan 2006

ao inves de memo utilize listbox e

- no after open do database coloque o seguinte codigo:
#Código


database.GetTableNames(Listbox1.items)


- no Onclick do listbox1 coloque
#Código
database.GetFieldNames(listbox1.items.strings[listbox1.itemindex], lisbox2.items);


espero ter ajudado


Prof. Baco
   - 13 jan 2006

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

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


Obrigado....


Steve Narancic
   - 13 jan 2006

Altere a propriedade sorted do listbox para true


Prof. Baco
   - 13 jan 2006

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:
#Código

ListBox3.AddItem(ListBox1.itemindex+´.´+ListBox2.itemindex);

Mas deu erro falando: incompatible type
Depois eu tentei este aqui:
#Código
ListBox3.AddItem(ListBox1.itemindex+ListBox2.itemindex);

Mas deu o erro: incompatible type: String and Integer

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

Fico grato...


Steve Narancic
   - 13 jan 2006

#Código

ListBox3.items.add(ListBox1.items.strings[listbox1.itemindex] + ´.´ + ListBox2.items.strings[listbox2.itemindex])



Prof. Baco
   - 13 jan 2006

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:
#Código

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]);
end;
end;

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


Steve Narancic
   - 13 jan 2006

#Código

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] + ´,´);
end;
end;


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


Prof. Baco
   - 13 jan 2006

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...