平常大伙登录SQL的顺序是,填好'服务器名','用户名','密码'最后选择'数据库'然后登录使用.
思路:
SQL的数据库分为系统数据库和用户数据库,所有数据库的信息都会存放于MASTER.sysdatabases表里,
所以我们首先要登录系统数据库,然后获取我们需要操作的用户数据库.
用到的控件有Edit和Lable和ADOQuery还有一个Listbox(这是用来显示取得的用户数据库.也可以用COMBOBOX取得)
界面信息有 '服务器'+'用户名'+'密码'+'数据库'
步骤1:填好'服务器名','用户名','密码',创建登录Master的连接字串
代码放到你相应的控件事件里,例如我设置的是在点击Edit4时显示用户数据库,所以代码我就放到了Edit4.onclick里
procedure TForm2.Edit4Click(Sender: TObject);
var i:integer;
begin
ADOQuery1.close;
ADOQuery1.ConnectionString:='Provider=SQLOLEDB.1;Password='+Edit3.text+';Persist Security Info=False;User ID='+edit2.Text+';Initial Catalog=Master;Data Source='+edit1.Text; //创建连接系统数据库的连接字串
ADOQuery1,open;
//连接后获取用户数据库,用ListBox1显示
ListBox1.Visible:=False; //隐藏ListBox1
ListBox1.Enabled:=False;
ListBox1.Clear; //清空ListBox1
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT name FROM sysdatabases'); //连接数据库表
try
ADOQuery1.open;
if ADOQuery1.RecordCount>0 then
begin
for i:=0 to ADOQuery1.RecordCount-1 do
begin
ListBox1.Items.Add(ADOQuery1.FieldByName('sn').AsString); //写入ListBox
ListBox1.itemindex:=0;
ADOQuery1.Next;
end;
ListBox1.Enabled:=True; //显示ListBox
ListBox1.Visible:=True;
end;
except
showmessage('获取帐套失败,请填入正确的‘服务器-用户名-密码’!');
end;
end;