2168575 发表于 2015-6-27 16:54:26

利用SQLDMO操控SQL Server

在开发基于SQL Server数据库的应用程序时,经常会遇到需要知道SQL Server数据库对象的相关信息的情况,例如SQL Server中有哪些数据库,这些数据库中有哪些数据表,每个数据表有哪些字段,这些字段是什么属性等。利用SQL-DMO(分布式管理对象)来访问SQL Server数据库。SQL-DMO是为Windows 9x与 Windows NT提供的32位OLE对象,它为与OLE兼容的应用程序提供了SQL Server管理功能的接口,开发者通过DMO就可以直接访问SQL Server所有的数据对象。
      不知道大家注意过没有,有好多代码生成器在操作数据库的时候就是利用SQLDMO对象来显示数据库的(包括数据库服务器、数据库、表、视图、存储过程)。但是我上次写的那个简单的代码生成器却没有利用这个对象,我是直接利用SQL语句来操作的,大家不妨在看看那个“代码生成器”。好了,废话少说,下面就介绍一下怎么利用SQLDMO操作数据的。

一、获取局域网数据库服务器
首先要定义一个SQLDMO.Application 对象
private SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass();
然后再定义一个SQLDMO.NameList 对象
SQLDMO.NameList sqlServers=null;
cboServers是下列列表框的ID,下面是将数据库服务器显示在下拉列表框中的代码:


sqlServers = sqlApp.ListAvailableSQLServers();
for(int i=0;i0)
{
    this.cboDatabase.SelectedIndex = 0;
    this.cboDatabase.Enabled = true;
    this.groupBox1.Enabled = true;
}
else
{
    this.groupBox1.Enabled = false;
    this.cboDatabase.Enabled = false;
    this.cboDatabase.Text = "";
}
三、获取数据库中的表


SQLDMO.SQLServer srv = new SQLDMO.SQLServerClass();               
srv.Connect(this.cboServers.SelectedItem.ToString(),this.txtUser.Text,this.txtPassword.Text);
for(int i=0;i
页: [1]
查看完整版本: 利用SQLDMO操控SQL Server