如何使用SQlDEMO.

来源:互联网 发布:htc one m8刷机windows 编辑:程序博客网 时间:2024/06/05 06:35

 #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 

原创粉丝点击