通过VS中的数据源选择对话框简单实现数据库连接配置_基础应用

在实际的开发中,我们经常在应用程序中提供择数据源和数据连接配置的接口,方便用户配置数据库连接字符串。典型的方法是将这些信息写在XML的配置文件里,如web.config或app.config文件里.

但是客户并不是专业的编程人员,一不小心就会使连接串写错,导致系统无法运行,最好是让用户能够通过一个图形界面来选择数据源和数据连接的信息,如下图:

我们可以通过调用Visual Studio中的数据库连接配置UI来简单实现。

具体的实现方法如下:

首先添加对Microsoft.Data.ConnectionUI.Dialog.dll的引用,这个assembly在VS2005的安装目录下,C:\Program Files\Microsoft Visual Studio 8\Common7\IDE下边,我的VS安装在C盘,下面是代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Data.ConnectionUI;
namespace ConnectionBuilder
{
    public partial class ConnectionForm : Form
    {
        public ConnectionForm()
        {
            InitializeComponent();
        }

        private void btnCreateConnection(object sender, EventArgs e)
        {
            DataConnectionDialog dialog = new DataConnectionDialog();

            //添加数据源列表,可以向窗口中添加自己程序所需要的数据源类型
            dialog.DataSources.Add(DataSource.SqlDataSource);
            dialog.DataSources.Add(DataSource.OdbcDataSource);

            dialog.SelectedDataSource = DataSource.OdbcDataSource;
            dialog.SelectedDataProvider = DataProvider.OdbcDataProvider;

            //只能够通过DataConnectionDialog类的静态方法Show出对话框
            //不同使用dialog.Show()或dialog.ShowDialog()来呈现对话框
            if (DataConnectionDialog.Show(dialog, this) == DialogResult.OK)
            {
                txtConnectionString.Text = dialog.ConnectionString;
            }
        }
    }
}

时间: 2024-11-05 22:36:11

通过VS中的数据源选择对话框简单实现数据库连接配置_基础应用的相关文章

ASP.NET中使用Application对象实现简单在线人数统计功能_实用技巧

注:最近在复习ASP.NET,为了加深印象,会制作一些小的demo程序,分享给大家. 1 新建ASP.NET网站,编辑Global.asax文件,修改后的文件内容如下所示. <%@ Application Language="C#" %> <script runat="server"> void Application_Start(object sender, EventArgs e) { // 在应用程序启动时运行的代码 Applicati

详解ABP框架中的数据过滤器与数据传输对象的使用_基础应用

数据过滤器(Data filters)在数据库开发中,我们一般会运用软删除(soft-delete)模式,即不直接从数据库删除数据,而是标记这笔数据为已删除.因此,如果实体被软删除了,那么它就应该不会在应用程序中被检索到.要达到这种效果,我们需要在每次检索实体的查询语句上添加SQL的Where条件IsDeleted = false.这是个乏味的工作,但它是个容易被忘掉的事情.因此,我们应该要有个自动的机制来处理这些问题. ABP提供数据过滤器(Data filters),它使用自动化的,基于规则

ASP.NET中BulletedList列表控件使用及详解_基础应用

BulletedList 控件创建一个无序或有序(编号)的项列表,它们分别呈现为 HTML UL 或 OL 标记.可以指定项.项目符号或编号的外观,可以静态定义列表项或通过将控件绑定到数据来定义列表项,也可以在用户单击项时作出响应. 对于ASP.NET 1.x里要动态显示Bulledted List时,要么自己利用HTML的<ol>或<ul>元素构造,要么就是"杀鸡用牛刀"的动用Repeater来显示.前者过于死板,后者过于Overkill,也许微软听到这种声音

javascript的对话框详解与参数_基础知识

对话框可以分为模式对话框和无模式对话框两种,两者区别是在对话框被关闭之前用户能否在同一应用程序的其他地方进行工作.举例说明:打开文件对话框便是典型的模式对话框,在你选择好要打开的文件按下确定后,或者取消打开文件操作后,才可以在同一应用程序进行其他操作.而常见的查找和替换对话框便是无模式对话框的典型,在该对话框打开的同时,我们还可以进行其他工作.模式对话框会始终保持焦点.除非关闭对话框,否则无法切换窗口. 无模式对话框不会始终保持焦点,但始终保持显示在最前端. 弹出网页窗口全攻略(html/hta

不错的mod_perl编程的简单应用实例介绍_基础教程

介绍性指南  mod_perl 是个庞大而复杂的工具,它内建了许多模块帮助你方便地构建动态网站.这篇指南的目的是帮助你构建一个良好的 mod_perl 模块,并从中理解 mod_perl 的实现技术.我并不推荐使用这里介绍的技术来建立一个大型站点,尤其对于一个刚刚涉足 mod_perl 的人来说.但我推荐大家可以深入看一下它的一些内建的方案,比如 Mason, AxKit, EmbPerl, Apache::ASP 和 PageKit 等等.  你需要什么?  本指南假设你已经有过安装和测试 m

ibatis简单实现与配置_其它综合

那我们什么时候可以用到ibatis呢,我们用hibernate的时候会发现,有的时候hibernate不支持一些特别精确的查询,这个时候我们完全可以用到ibatis,因为他是半自动化的.一会我们可以看到,他的查询语句是我们在配置文件xml中写的.hibernate可以用到一些大型的项目当中,ibatis我们可以应用到一些小型的项目当中. 下面我们看下ibatis的具体实现,hibernate中,我们都知道有一个hibernate.cfg.xml配置文件,和另一个*.hbm.xml配置文件,在ib

JavaScript中的call方法和apply方法使用对比_基础知识

方法定义call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call 方法可以用来代替另一个对象调用一个方法.call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象. 如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj. apply方法: 语法:apply([thisObj[,argArray]]) 定义

JavaScript中判断两个字符串是否相等的方法_基础知识

先将用户的输入值全部转换为大写(或小写),然后再行比较: var name = document.form1.txtUserName.value.toLowerCase(); if(name == "urname") { // statements go here. }       JavaScript有两种相等运算符.一种是完全向后兼容的,标准的"==",如果两个操作数类型不一致,它会在某些时候自动对操作数进行类型转换,考虑下面的赋值语句: var strA =

js函数中onmousedown和onclick的区别和联系探讨_基础知识

这两个事件很常见. 了解这两个事件的区别,但是实际并没有使用到这两个事件的区别去做一些操作. 通常使用onclick的时候也可以使用onmousedown,使用onclick的时候更多一些. 今天碰到了非使用onmousedown不可的时候,故特此记录. 先说一下区别:onclick是在鼠标点击弹起之后触发的事件.onmousedown是在鼠标按下之后触发的事件. 简单的说onclick = onmousedown + onmouseup; 如果在某个地方按下鼠标后移开鼠标在另外一个地方松开鼠标