2010-08-13 69 views
10

我有一个c#生成的数据集。如何更改连接字符串,以便可以将数据集与另一个(结构相同但数据填充不同的)数据库结合使用?这必须在运行时发生,因为我不知道编译时的服务器或数据库名称。我正在使用C#2.0。在运行时更改数据集连接字符串

+1

http://www.csharpbydesign.com/2008/01/overriding-dataset-settings-co.html – 2010-08-13 14:02:58

+1

这将会在全球范围内改变它,怎么样在每个实例的基础? – DanDan 2010-08-13 14:50:49

回答

9

您可以修改表适配器的单个实例。

_myAdapter.Connection.ConnectionString = connectionString; 
+0

我更喜欢你的答案。 – DanDan 2010-08-31 14:56:02

+1

连接修饰符必须是公开的才能在程序集之外访问(即另一个项目) – 2013-06-19 20:15:13

+0

是否有解决方案来更改DataSet中所有TableAdapter的连接字符串? – 2016-03-15 07:21:02

6

基于上面的链接,我就是这么做的:

partial class QueriesTableAdapter 
{ 
    public QueriesTableAdapter(string connectionString) 
    { 
     Properties.Settings.Default["connectionString"] = connectionString; 
    } 
} 
+0

看起来我该怎么做...这样做有问题吗? – jcolebrand 2010-08-13 15:12:16

+0

不,似乎工作得很好,比上面提到的链接好一点。尽管每个版本都有一个版本,但仍然不错,但这还不算什么问题。 – DanDan 2010-08-13 20:23:27

+0

正在使用你的代码。它工作正常,但它只会改变服务器地址,而不会更改数据库名称,用户名和密码。请帮我做这个.. – Fernando 2012-06-08 13:29:00

相关问题