如何使用SQlDEMO.

 #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 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章