利用ADO组件获得数据库中的table名以及存储过程名

王朝other·作者佚名  2006-06-02
窄屏简体版  字體: |||超大  

在进行信息系统软件开发的时候,我可能要依靠编程来获得制定数据库中的表名以及存储过程名。这有不少方法,例如要取得sql server数据库中的table信息,我们可以通过查询information_schema.tables来获得,这种通过sql 查询语句来获得数据库表名的操作要依靠数据库系统的支持,不同的数据库系统提供的访问方式也不同,我们也就不能通过相同的代码来获得信息。为了达到这一目的,我们可以采用ADOCONNECTION组件的GetTableNames来获得表名列表,通过GetProcedureNames来获得存储过程列表。函数原型如下:

procedure GetTableNames(List: TStrings; SystemTables: Boolean = False);

procedure GetProcedureNames(List: TStrings);

上面的List是一个TStrings类型的列表,用来接收返回的信息,SystemTables是一个布尔类型的参数,如果为true,则代表返回时包含系统表,为false代表不返回系统表。

一个例子:

新建立一个工程,窗体中添加一个Listbox组件(ListBox1)用来接受信息,一个CheckBox(ckbxSystemInfo)组件用来做是否返回系统表的判断,一个ADOCONNECTION(ADOConnection1)组件用来连接制定的数据库,两个按钮分别用来完成获得存储过程列表以及获得table列表,设置好ADOCONNECTION1的连接字符串,然后使用下面的代码:

procedure TForm1.Button1Click(Sender: TObject);

begin

ADOConnection1.GetTableNames(ListBox1.Items,ckbxSystemInfo.Checked );

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

ADOConnection1.GetProcedureNames(ListBox1.Items);

end;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航