后台服务器是:sql server 2000里面的数据库有:database1,......,databasen,每个database下面有如果干个表现在用delphi连接到sql server 2000 中的某个数据库,然后可以动态加载该数据库下面的表:ADOConnection1.GetTableNames(ComboBox1.Items); 请问在连接到sql server 2000 时,如何获知用户的数据库,也加载到combobox中但不包括system那些数据库谢谢
调试欢乐多
select * from master..sysdatabases D where sid not in(select sid frommaster..syslogins where name='sa')或者select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x01
begin
ComboBox1.Items.Clear;
ComboBox1.Text:='';
qry_BaseTemp.Close;
qry_BaseTemp.SQL.Text:=' select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x01 ';
qry_BaseTemp.Open;
while not qry_BaseTemp.Eof do
begin
ComboBox1.Items.Add(Trim(qry_BaseTemp.FieldValues['DB_NAME']));
qry_BaseTemp.Next;
end;
end;
对于SQL Server,参考:
SQL获取所有数据库名、表名、储存过程以及参数列表