欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#使用SQLDMO操作数据库的方法

程序员文章站 2024-02-08 10:31:10
本文实例讲述了c#使用sqldmo操作数据库的方法。分享给大家供大家参考。具体分析如下: sqldmo.dll是随sql server2000一起发布的。sqldmo.d...

本文实例讲述了c#使用sqldmo操作数据库的方法。分享给大家供大家参考。具体分析如下:

sqldmo.dll是随sql server2000一起发布的。sqldmo.dll自身是一个com对象

sqldmo(sql distributed management objects,sql分布式管理对象)封装 microsoft sql server 2000 数据库中的对象。sql-dmo 允许用支持自动化或 com 的语言编写应用程序,以管理 sql server 安装的所有部分。sql-dmo 是 sql server 2000 中的 sql server 企业管理器所使用的应用程序接口 (api);因此使用 sql-dmo 的应用程序可以执行 sql server 企业管理器执行的所有功能。

sqlserver的大致关系:

application-->sqlserver-->database

实例sqldmo,主要用到的是其中的以下几个类:

sqldmo.application(使用 sqldmo.applicationclass创建)、
sqldmo.sqlserver(使用sqldmo.sqlserverclass创建,主要用到它的connect来连接数据库服务器)、
sqldmo.namelist(可以通过它和application获取服务器集合,其它的请看其api)
sqldmo.database(可以通过它和sqlserver.databases获取数据库集合)

示例一:获取局域网内sql服务器列表

主要用到application的listavaiablesqlservers来获取namelist,

sqldmo.application sqlapp = new sqldmo.applicationclass();
sqldmo.namelist names = sqlapp.listavailablesqlservers();
serverlist.items.clear();
for(int i=1;i<names.count;i++)
{
 if(names.item(i)!=null)
  serverlist.items.add(names.item(i));
}
if(serverlist.items.count>0)
{
 serverlist.selectedindex = 1;
}
else
{
 serverlist.text = "没有可用的sql服务器";
}  

示例二:获取某个服务器下的数据库列表:

主要用到sqlserver以及其属性databases

sqldmo.sqlserver database= new sqlserverclass();
try
{
 database.connect(serverlist.selecteditem.text, "sa", "");
 databaselist.items.clear();
 foreach (sqldmo.database db in database.databases)
 {
  databaselist.items.add(db.name);
 }
}
catch (system.exception ee)
{
 databaselist.items.clear();
 databaselist.items.add("无法连接所选服务器");
}

然后获取数据库的属性等就是手到拿来了

希望本文所述对大家的c#程序设计有所帮助。