得到本机数据库实例的两种方法

来源:岁月联盟 编辑:exp 时间:2011-12-15

 

<%@ Page Language="C#" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  protected void Page_Load(object sender, EventArgs e)

  {

    //方法1

    System.Data.DataTable table = System.Data.SqlClient.SqlClientFactory.Instance.CreateDataSourceEnumerator().GetDataSources();

    GridView1.DataSource = table;

    GridView1.DataBind();

 

    //得到本机的

    foreach (System.Data.DataRow row in table.Rows)

    {

      if (row[0].ToString().ToUpper().Equals(System.Net.Dns.GetHostName().ToUpper()))

      {

        Response.Write("<li>" + row[1]);

      }

    }

 

    //方法2

    //需要引用Microsoft.SqlServer.Smo.dll

    GridView2.DataSource = Microsoft.SqlServer.Management.Smo.SmoApplication.EnumAvailableSqlServers(true);

    GridView2.DataBind();

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">

  <title></title>

</head>

<body>

  <form id="form1" runat="server">

  <asp:GridView ID="GridView1" runat="server">

  </asp:GridView>

  <asp:GridView ID="GridView2" runat="server">

  </asp:GridView>

  </form>

</body>

</html>