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