无法使用 app.config 中的连接字符串连接到数据库

本文关键字:连接 字符串 数据库 config app | 更新日期: 2023-09-27 18:24:28

DataSet ds = new DataSet("Transactions");
using (SqlConnection conn = new SqlConnection("myConnectionString"))
{
   SqlCommand sqlComm = new SqlCommand("[dbo].[GetFullTransactionList]", conn);
   sqlComm.CommandType = CommandType.StoredProcedure;
   SqlDataAdapter da = new SqlDataAdapter();
   da.SelectCommand = sqlComm;
   da.Fill(ds);
}
return ds;

app.config相关内容:

<configuration>
   <connectionStrings>
      <add name="myConnectionString"
           connectionString="Data Source=LAPTOP-LT;Initial Catalog=myDb;User ID=sa;Password=abc"
           providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>

我收到此异常:

初始化字符串的格式不符合规范 从索引 0 开始。说明:发生未经处理的异常 在执行当前 Web 请求期间。请查看 堆栈跟踪,以获取有关错误及其位置的详细信息 起源于代码。

异常详细信息:System.ArgumentException:格式 初始化字符串不符合从 索引 0。

源错误:

Line 44:             DataSet ds = new DataSet("Transactions");
Line 45:             using (SqlConnection conn = new SqlConnection("myConnectionString"))

无法使用 app.config 中的连接字符串连接到数据库

在 app.config 中引用连接字符串的正确方法是:

string cnnString = ConfigurationManager.ConnectionStrings["yourCnnString"].ConnectionString;
using(SqlConnection conn = new SqlConnection(cnnString))
{ 
}

不要忘记最终属性ConnectionString

要使用配置文件中的连接字符串,您需要ConfigurationManager访问它。

所以它将是:

   using (SqlConnection conn = new 
     SqlConnection(ConfigurationManager.ConnectionStrings["myConnectionString"]))
   {
          ...
   }

请参阅文档以获取更多信息

SqlConnection 需要一个真正的连接字符串,而不是来自 app.config 的密钥。尝试阅读它

ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString