【问题标题】:change connection string for dataset更改数据集的连接字符串
【发布时间】:2012-10-16 20:56:18
【问题描述】:

当我使用数据集-MyDatabaseDataSet时如何为数据库创建认证窗口?

当我不使用数据集时,我只需为每个操作打开新的 SqlConnection 并使用一些在我编写登录名和密码后创建的连接字符串。但是数据集使用一些默认的连接字符串。怎么改?

我想使用连接字符串 Data Source=XXXX-PC\MSSQLSERVER2;Initial Catalog=MyDatabase;User ID={0};Password={1} 连接到数据库和表,其中 {0} 和 {1} - 来自身份验证窗口的参数。

我不明白将连接字符串放在哪里,然后将其用作默认连接字符串。

【问题讨论】:

  • 这应该在你的 web.config 中
  • 你能贴出创建你的SqlConnection的代码吗? SqlConnection 有一个连接字符串的构造函数。
  • @AntLaC 如果他正在分发他的可执行文件,他可能不希望每个人都看到他的数据库的密码。
  • @JoshC。我不知道这是否是一个网络应用程序
  • 它是窗体应用程序

标签: c# dataset


【解决方案1】:

过去我在使用默认连接字符串的 DataSet 对象方面遇到过问题。

为了解决这个问题,我将连接字符串传递给我的 SqlConnection 构造函数。

在我的例子中,我使用 web.config 来保存连接字符串。

var dt1 = new CustomDataSet.CustomDataTable();
var connectionString = ConfigurationManager.ConnectionStrings["connectionStringName"].ConnectionString
using (var connection = new SqlConnection(connectionString))
{
    using (var da1 = new GetCustomDataTableAdapter() { Connection = connection })
    {
        da1.Fill(dt1, id);
    }   
}

【讨论】:

  • 我只有 App.Config。还有<connectionStrings> <add name="ConnectToDatabase.Properties.Settings.MyDatabaseConnectionString" connectionString="Data Source=XXXX-PC\MSSQLSERVER2;Initial Catalog=MyDatabase;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings>
  • 但我不知道如何在那里传递登录名和密码。也许在那里创建一些参数并从身份验证对话框传递它?
  • 我知道要使用什么连接字符串。我不知道如何将参数传递给 app.confgi 中的连接字符串
  • @user1432980 您没有将参数传递给您的配置。从上面的示例中,您可以看到我创建了一个名为 connectionString 的字符串变量。使用 string.Format() 使用您的登录名和密码创建一个新字符串。然后将其传递给 SqlConnection。
  • 但是您从 ConnectionString 集合中的 connectionStringName 对象中获取连接字符串
猜你喜欢
  • 1970-01-01
  • 2014-01-27
  • 1970-01-01
  • 2014-07-18
  • 2013-05-17
  • 1970-01-01
  • 1970-01-01
  • 2018-05-22
  • 2012-06-12
相关资源
最近更新 更多