您的位置:首页 > 数据库

如何使用SQlDEMO.

2006-12-02 10:20 459 查看
#region 获得网络可用服务器
[WebMethod]
public string[] GetServerList()
{
SQLDMO.ApplicationClass oApp = new SQLDMO.ApplicationClass();
string[] alTemp =null;
try
{
SQLDMO.NameList iServerList = oApp.ListAvailableSQLServers();
alTemp=new string[iServerList.Count];
if( iServerList != null )
{
for( int i = 1; i <= iServerList.Count; i++ )
{
alTemp[i-1]=iServerList.Item(i).ToString();
}
}
return alTemp;
}
catch(Exception error)
{
alTemp=new string[]{"false",error.Message.ToString()};
return alTemp;
}
}

#endregion

#region 获得数据库
[WebMethod]
public string[] GetDB(string sqlserver,string username,string pwd)
{
SQLDMO.SQLServer SqlServer=new SQLDMO.SQLServerClass();
string[] strSqlDB;
try
{
SqlServer.Connect(sqlserver,username,pwd);
}
catch(Exception error)
{
strSqlDB=new string[]{"false",error.Message.ToString()};
return strSqlDB;
}
if(SqlServer.Databases.Count>0)
{
strSqlDB=new string[SqlServer.Databases.Count];
for(int i=0;i<SqlServer.Databases.Count;i++)
{
strSqlDB[i]=SqlServer.Databases.Item(i+1,"dbo").Name.ToString();
}
return strSqlDB;
}
else
{
strSqlDB=new string[]{"false","该服务器找不到"};
return strSqlDB;
}

}
#endregion

#region 获得数据库表
[WebMethod]
public string[] GetTable( string ServerName,string UserName,string Pwd,string DataBase)
{
SQLDMO.SQLServer srv = new SQLDMO.SQLServerClass();
srv.Connect(ServerName,UserName,Pwd);
string[] strDataTable=null;
int dbcount=srv.Databases.Count;
try
{
for(int i=0;i<dbcount;i++)
{
if(srv.Databases.Item(i+1,"dbo").Name == DataBase)
{
SQLDMO._Database db= srv.Databases.Item(i+1,"dbo");
int tablecount=db.Tables.Count;
strDataTable=new string[tablecount];
for(int j=0;j<tablecount;j++)
{
strDataTable[j]=db.Tables.Item(j+1,"dbo").Name.ToString();
}

}

}
return strDataTable;

}
catch(Exception error)
{
strDataTable=new string[]{"default",error.Message.ToString()};
return strDataTable;
}
}
#endregion

#region 获得视图
[WebMethod]
public string[] GetView( string ServerName,string UserName,string Pwd,string DataBase)
{
SQLDMO.SQLServer srv = new SQLDMO.SQLServerClass();
srv.Connect(ServerName,UserName,Pwd);
string[] strDataTable=null;
int dbcount=srv.Databases.Count;
try
{
for(int i=0;i<dbcount;i++)
{
if(srv.Databases.Item(i+1,"dbo").Name == DataBase)
{
SQLDMO._Database db= srv.Databases.Item(i+1,"dbo");
int viewcount=db.Views.Count;
strDataTable=new string[viewcount];
for(int j=0;j<viewcount;j++)
{
strDataTable[j]=db.Views.Item(j+1,"dbo").Name.ToString();
}

}

}
return strDataTable;

}
catch(Exception error)
{
strDataTable=new string[]{"default",error.Message.ToString()};
return strDataTable;
}
}
#endregion

#region 获得存储过程
[WebMethod]
public string[] GetPro( string ServerName,string UserName,string Pwd,string DataBase)
{
SQLDMO.SQLServer srv = new SQLDMO.SQLServerClass();
srv.Connect(ServerName,UserName,Pwd);
string[] strDataTable=null;
int dbcount=srv.Databases.Count;
try
{
for(int i=0;i<dbcount;i++)
{
if(srv.Databases.Item(i+1,"dbo").Name == DataBase)
{
SQLDMO._Database db= srv.Databases.Item(i+1,"dbo");
int procount=db.StoredProcedures.Count;
strDataTable=new string[procount];
for(int j=0;j<procount;j++)
{
strDataTable[j]=db.StoredProcedures.Item(j+1,"dbo").Name.ToString();
}

}

}
return strDataTable;

}
catch(Exception error)
{
strDataTable=new string[]{"default",error.Message.ToString()};
return strDataTable;
}
}
#endregion
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: