Fórum SQL.. #329452
15/09/2006
0
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
Curtir tópico
+ 0Posts
15/09/2006
Delphi32
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+!
Gostei + 0
15/09/2006
Maf_arthur
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;
Gostei + 0
15/09/2006
Delphi32
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+!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)