最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

仿VS的AddConnection功能,获取服务器列表及数据库列表

来源:动视网 责编:小采 时间:2020-11-09 08:21:31
文档

仿VS的AddConnection功能,获取服务器列表及数据库列表

仿VS的AddConnection功能,获取服务器列表及数据库列表:VS中有Add Connection功能的界面,能够搜索到局域网内的服务器,连接上服务器后能够根据用户名和密码获得数据库的列表。看似很复杂的一个功能,其实很简单。 1、获取服务器列表。 VS中提供了SqlDataSourceEnumerator类,命名空间为System.Data.
推荐度:
导读仿VS的AddConnection功能,获取服务器列表及数据库列表:VS中有Add Connection功能的界面,能够搜索到局域网内的服务器,连接上服务器后能够根据用户名和密码获得数据库的列表。看似很复杂的一个功能,其实很简单。 1、获取服务器列表。 VS中提供了SqlDataSourceEnumerator类,命名空间为System.Data.


VS中有Add Connection功能的界面,能够搜索到局域网内的服务器,连接上服务器后能够根据用户名和密码获得数据库的列表。看似很复杂的一个功能,其实很简单。 1、获取服务器列表。 VS中提供了SqlDataSourceEnumerator类,命名空间为System.Data.Sql,直接调用

VS中有Add Connection功能的界面,能够搜索到局域网内的服务器,连接上服务器后能够根据用户名和密码获得数据库的列表。看似很复杂的一个功能,其实很简单。

1、获取服务器列表。

VS中提供了SqlDataSourceEnumerator类,命名空间为System.Data.Sql,直接调用GetDataSource()方法,即可或得服务器列表的DataTable。

代码奉上:

 private void GetServerName()
 {
 List serverList = new List();

 DataTable dataTable = SqlDataSourceEnumerator.Instance.GetDataSources();

 DataRow[] rows = dataTable.Select("", "ServerName,InstanceName Asc");

 foreach (DataRow row in rows)
 {
 string server = row["ServerName"].ToString();
 if (string.IsNullOrEmpty(row["InstanceName"].ToString()) == false)
 {
 server = server + "\\" + row["InstanceName"].ToString();
 }

 serverList.Add(server);
 }

 this.SetComboBoxItemSource(cbServer, serverList);
 }

2、获取数据库的所有数据库列表。

这个比较简单,连接上服务器后,连接master数据库,通过查询systemdatabases就可以了。

代码奉上:

 private void GetDataBasesName()
 {
 List dataBaseList = new List();
     //获取服务器、用户名和密码,可以自己改改参数。
 string server = this.GetControlText(this.cbServer);
 string uid = this.GetControlText(this.txtUid);
 string pwd = this.GetControlText(this.pbPwd);

 string connString = string.Format("server={0};database=master;uid={1};pwd={2}", server, uid, pwd);
 string sql = "select name from SYSDATABASES order by name";

 SqlConnection conn = new SqlConnection(connString);
 try
 {
 conn.Open();
 SqlCommand cmd = new SqlCommand(sql, conn);
 SqlDataReader reader = cmd.ExecuteReader();

 while (reader.Read())
 {
 dataBaseList.Add(reader[0].ToString());
 }
 }
 catch (Exception)
 {
 //throw;
 }
 finally
 {
 conn.Close();
 }

 this.SetComboBoxItemSource(this.cbDataBase, dataBaseList);
 }

如有不当之处,还请大家多多指教。

文档

仿VS的AddConnection功能,获取服务器列表及数据库列表

仿VS的AddConnection功能,获取服务器列表及数据库列表:VS中有Add Connection功能的界面,能够搜索到局域网内的服务器,连接上服务器后能够根据用户名和密码获得数据库的列表。看似很复杂的一个功能,其实很简单。 1、获取服务器列表。 VS中提供了SqlDataSourceEnumerator类,命名空间为System.Data.
推荐度:
标签: 功能 获取 数据
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top