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

时间:2013-07-22 12:06:25

标签: c# asp.net connection-string

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"))

3 个答案:

答案 0 :(得分:1)

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

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

}

不要忘记最终属性ConnectionString

答案 1 :(得分:0)

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

所以它会是:

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

请参阅documentation以获取更多信息

答案 2 :(得分:0)

SqlConnection期望一个真正的连接字符串而不是来自app.config的密钥。尝试用

阅读
ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString
相关问题