我搜索了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);
}
}