SQLDMOHelp 对sqlserver数据库操作

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Xml.Linq;
using System.Collections.Generic;
using SQLDMO;

/// <summary>
///SQLDMOHelp 的摘要说明
/// </summary>
public class SQLDMOHelp
{
    private static SQLDMO.SQLServer oServer;
    static SQLDMOHelp()
    {
        oServer = new SQLDMO.SQLServer();
        oServer.Connect(".", "sa", "123456");
    }

    public static void Close()
    {
        oServer.DisConnect();
    }

    public static List<SQLDMO.Database> getDabase()
    {
        List<Database> list;
        var databases = oServer.Databases;
        list = databases.Cast<Database>().Where(p => p.SystemObject == false).ToList();
        return list;
    }

    /// <summary>
    /// 获取视图
    /// </summary>
    /// <param name="database"></param>
    /// <returns></returns>
    public static List<_View> getViews(string databaseName)
    {
        return oServer
            .Databases
            .Cast<Database>()
            .Where(p => p.Name == databaseName && p.SystemObject == false)
            .First<Database>()
            .Views
            .Cast<_View>()
            .Where(p => p.SystemObject == false)
            .ToList();
    }

    /// <summary>
    /// 获取视图
    /// </summary>
    /// <param name="database"></param>
    /// <returns></returns>
    public static List<_Table> getTables(string databaseName)
    {
        return oServer
            .Databases
            .Cast<Database>()
            .Where(p => p.Name == databaseName && p.SystemObject == false)
            .First<Database>()
            .Tables
            .Cast<_Table>()
            .Where(p => p.SystemObject == false)
            .ToList();
    }


    /// <summary>
    /// 获取视图
    /// </summary>
    /// <param name="database"></param>
    /// <returns></returns>
    public static List<_StoredProcedure> getStoreProcedure(string databaseName)
    {
        return oServer
            .Databases
            .Cast<Database>()
            .Where(p => p.Name == databaseName && p.SystemObject == false)
            .First<Database>()
            .StoredProcedures
            .Cast<_StoredProcedure>()
            .Where(p => p.SystemObject == false)
            .ToList();
    }


    /// <summary>
    /// 获取视图
    /// </summary>
    /// <param name="database"></param>
    /// <returns></returns>
    public List<_View> getViews(Database database)
    {
        return database.Views.Cast<_View>().Where(p => p.SystemObject == false).ToList();
    }

    /// <summary>
    /// 获取存储过程
    /// </summary>
    /// <param name="database"></param>
    /// <returns></returns>
    public List<_StoredProcedure> getStoreProcedure(Database database)
    {
        return database.StoredProcedures.Cast<_StoredProcedure>().Where(p => p.SystemObject == false).ToList();
    }

    /// <summary>
    /// 获取表
    /// </summary>
    /// <param name="database"></param>
    /// <returns></returns>
    public static List<_Table> getTable(Database database)
    {
        return database.Tables.Cast<_Table>().Where(p => p.SystemObject == false).ToList();
    }

    /// <summary>
    /// 获取表的列
    /// </summary>
    /// <param name="table"></param>
    /// <returns></returns>
    public static List<_Column> getColumn(_Table table)
    {
        return table.Columns.Cast<_Column>().ToList();
    }

}

posted @ 2011-05-18 21:48  Jolan  阅读(200)  评论(3编辑  收藏  举报