错误消息:初始化字符串的格式不符合从索引0开始的规范



我搜索了SO,但没有找到错误的解决方案
我使用的是VS 2013和SQL Server 2014。

下面是我的连接字符串:

using (SqlConnection sqlConnection = new SqlConnection("cnInvestTracker"))
{
}  

我的web.config是:

<connectionStrings>
    <add name="cnInvestTracker" 
          connectionString="Data Source=localhost;Initial Catalog=InvestTracker;Integrated Security=True"
          providerName="System.Data.SqlClient" />
</connectionStrings>  

当代码执行using行时,我收到一条错误消息。错误消息为:

初始化字符串的格式不符合规范从索引0开始。

错误的原因是什么?

"cnInvestTracker"本身不是有效的连接字符串。这就是你试图在这里使用的:

new SqlConnection("cnInvestTracker")

该构造函数不需要连接字符串的名称,它需要连接字符串本身:

new SqlConnection(ConfigurationManager.ConnectionStrings["cnInvestTracker"].ConnectionString)

(您可能需要添加对System.Configuration的引用,并且在尝试引用该名称之前,可能需要添加一些错误检查以确保该名称的连接字符串存在。)

using (SqlConnection sqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["cnInvestTracker"].ConnectionString))
{
}  

一旦建立了连接,您可能会想对代码做更多的处理,因此下面是一个示例,说明如果您想使用.Fill() 将数据返回到DataTable中,您可以做些什么

SqlDataAdapter sda;
DataTable someDataTable = new DataTable();
using (SqlConnection connStr = new SqlConnection(ConfigurationManager.ConnectionStrings["cnInvestTracker"].ConnectionString))
{
    using (SqlCommand cmd = new SqlCommand("ups_GeMyStoredProc", connStr)) //replace with your stored procedure. or Sql Command 
    {
        cmd.CommandType = CommandType.StoredProcedure;
        sda = new SqlDataAdapter(cmd);
        new SqlDataAdapter(cmd).Fill(someDataTable);
    }
}

最新更新