当前位置: 首页 > news >正文

C#调用windwos系统数据源配置

方案1.       首先添加对Microsoft.Data.ConnectionUI.Dialog.dll的引用,这个assembly在VS2010的安装目录下,C:"Program Files"Microsoft Visual Studio 9"Common7"IDE下边,命名空间引入 Microsoft.Data.ConnectionUI

using Microsoft.Data.ConnectionUI;
namespace ConnectionBuilder
{
    public partial class ConnectionForm : Form
       {
        public ConnectionForm()
           {
               InitializeComponent();
           }

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

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


               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;
               }
           }
       }
}

说明:此方案初期认为不可行,因为错误认为它只可配置ODBC数据源,后来发现是可以配置ADO.NET的(OLE DB),但是在代码里无法添加上“其它数据库”选项,导致无法扩展OLE DB,其默认的可在代码添加的数据源只有ACCESS,SQLserver,SQLserver文件,Orcal和ODBC五种
方案2:( 没有用过
国外网站参考出处: http://www.thescripts.com/forum/thread677730.html
其实是在方案1的基础上加一行代码,
DataSource.AddStandardDataSources(dialog);
AddStandrdDataSources方法

code:

DataConnectionDialog dcd = new DataConnectionDialog();

DataSource.AddStandardDataSources(dcd);

DataConnectionDialog.Show(dcd); 

MessageBox.Show("Connectionstring: "+dcd.ConnectionString + ""nSelected Data Source: " + dcd.SelectedDataSource.DisplayName + ""nSelected Data Provider: "+ dcd.SelectedDataProvider.DisplayName);

转载于:https://www.cnblogs.com/wjz676458754/p/6101027.html

相关文章:

  • 《java与模式》学习系列——调停者模式
  • [hibernate]基本值类型映射之日期类型
  • 《java与模式》学习系列——建造者模式
  • 【PL/SQL练习】基本的PL/SQL语句
  • 《java与模式》学习系列——原始模型模式
  • 20145326蔡馨熠《信息安全系统设计基础》第11周学习总结
  • 《java与模式》学习系列——合成模式
  • 【数据结构】简单谈一谈二分法和二叉排序树BST查找的比较
  • 《java与模式》学习系列——代理模式
  • 5种必知的大数据处理框架技术
  • 《java与模式》学习系列——策略模式
  • mysql:字符串转换为日期类型
  • 《java与模式》学习系列——模版方法模式
  • 《java与模式》学习系列——备忘录模式
  • 向量加减法运算及其几何意义
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • chrome扩展demo1-小时钟
  • Java 网络编程(2):UDP 的使用
  • JS函数式编程 数组部分风格 ES6版
  • node-glob通配符
  • Python 反序列化安全问题(二)
  • 分享一份非常强势的Android面试题
  • 解析 Webpack中import、require、按需加载的执行过程
  • 开源地图数据可视化库——mapnik
  • 七牛云假注销小指南
  • 项目实战-Api的解决方案
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #13 yum、编译安装与sed命令的使用
  • $ git push -u origin master 推送到远程库出错
  • $(function(){})与(function($){....})(jQuery)的区别
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (2)Java 简介
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (Note)C++中的继承方式
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (六)Hibernate的二级缓存
  • (顺序)容器的好伴侣 --- 容器适配器
  • (四)Linux Shell编程——输入输出重定向
  • (四)图像的%2线性拉伸
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)ABI是什么
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .axf 转化 .bin文件 的方法
  • .net 设置默认首页
  • .netcore如何运行环境安装到Linux服务器
  • .NET关于 跳过SSL中遇到的问题
  • .NET中 MVC 工厂模式浅析
  • [].slice.call()将类数组转化为真正的数组
  • [BZOJ5250][九省联考2018]秘密袭击(DP)
  • [C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测
  • [C++]打开新世界的大门之C++入门
  • [CSS] - 修正IE6不支持position:fixed的bug