Fórum SQL.. #329452

15/09/2006

0

Ola pessoal bom dia.. eu tenho um sistema de manutenção de tabelas em SQL.. funciona blz.. eu gostaria de adicionar ele em um projeto que eu tenho para ele so ver o alias desse projeto.. ou seja que assim que eu abro ele ja mim mostra as tabelas do projeto..
o sistema SQL ele tem um combo quer lista todos os alias do bde ai eu escolho o alias e mim conecto

alguem ai pode mim dizer como eu faço para ele se conectar automaticamente no alias do meu projeto sem que eu necessite escolher no combo..
vlw pessoal


Maf_arthur

Maf_arthur

Responder

Posts

15/09/2006

Delphi32

Bem, você tem uma rotina que carrega as tabelas, certo?

Em algum momento você informa nessa rotina que o alias deve ser o selecionado na combo, certo. Exemplo:

procedure CarregaTabelas(Alias:String);

e aí você chama assim: CarregaTabelas(ComboBox1.Text);
ou algo parecido, não?

Bem, basta passar como parâmetro o nome do seu alias. Ao invés de chamar a rotina da forma assim (com o texto da ComboBox como parâmetro), chame assim:

CarregaTabelas(´SEUALIAS´);

t+!


Responder

Gostei + 0

15/09/2006

Maf_arthur

amigo o codigo que tenho no OnSelect do combo e esse
var
MyList: TStringList;
begin
SCount := 0;
StatusBar1.Panels[2].text := ´Campos = Zero´;
StatusBar1.Panels[1].Text := ´Registros = Zero´;
BtnExe.Enabled := False;
BtnInfo.Enabled := false;
JonComboBox2.Clear;
JonComboBox2.Text := ´Tabela´;
JonComboBox3.Clear;
JonComboBox3.Text := ´Nome do Campo´;
JonComboBox4.Text := ´Comandos´;
Memo1.Clear;
DataBase1.Connected := False;
DataBase1.Close;
DBGrid1.Enabled := False;
DataBase1.AliasName := JonComboBox1.Text;
if messagedlg (´Deseja abir o Alias ´´ + JonComboBox1.Text + ´?´,
mtConfirmation, [mbYes, mbNo], 0) = mrNo then
begin
JonComboBox1.SetFocus;
StatusBar1.Panels[0].Text := ´Não foi possivel conectar ai DB´;
exit;
end
else
begin
try
DataBase1.Connected := true;
DBGrid1.Enabled := true;
except on E:Exception do
begin
ShowMessage(´Erro ao conecta no DB ... ´ + E.Message);
StatusBar1.Panels[0].Text := ´Erro ao conecta no DB ´ +
E.Message;
end;
end; // try
// Now Fill the Box with Table Names....
MyList := TStringList.Create;
try
Session.GetTableNames(JonComboBox1.Text, ´*.*´, False, False, MyList);
JonComboBox2.Items := MyList;
finally
MyList.Free;
JonComboBox2.DroppedDown := true;
JonComboBox2.SetFocus;
StatusBar1.Panels[0].Text := ´DB = ´ + JonComboBox1.Text;
end;


Responder

Gostei + 0

15/09/2006

Delphi32

Se você quer que o seu ALIAS seja aberto:

1) remova a combo.
2) Passe todo o código que você postou para algum evento do Form, como por exemplo, OnCreate ou OnShow. e lá na linha que está assim:

Session.GetTableNames(JonComboBox1.Text, ´*.*´, False, False, MyList);

Você troca por

Session.GetTableNames(´NOME_DO_SEU_ALIAS AQUI´, ´*.*´, False, False, MyList);

Entendeu a mudança?
GetTableNames é uma função que retorna para um TStrings as tabelas de um alias. Esse alias você estava passando o Texto da ComboBox. Ao invés disso, peça diretamente para listar as tabelas com o nome do seu ALIAS.

Dessa forma a JonComboBox1 não é mais necessária no form. Você poderia removê-la.

t+!


Responder

Gostei + 0

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

Aceitar