我在我的机器上本地开发了一个winforms应用程序。它从csv文件中读取数据并从数据库中查找相关信息(通过执行存储过程)。
我将它移动到开发服务器并尝试运行它,但是在从app.config文件获取SQL连接字符串的行时出现错误。错误是: System.NullReferenceException:对象引用未设置为对象的实例。。当然应用程序在我的机器上运行良好。
我注释掉了此代码后的所有行,并显示错误消息。我猜这与conn.ConnectionString行有关。
SQL数据库指向正确的数据库服务器& UID& pwd是对的。什么会导致错误?
try
{
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = ConfigurationManager.ConnectionStrings["SilverTicker"].ConnectionString;
答案 0 :(得分:4)
代码示例中的一个对象返回“null”。我猜它是
ConfigurationManager.ConnectionStrings["SilverTicker"].ConnectionString
在该行上放置断点并检查.ConnectionStrings
集合的内容以确保它包含“SilverTicker”。
我猜测ConfigurationManager.ConnectionStrings["SilverTicket"]
未定义(可能是由于两个环境中app.config
之间的不一致),因此访问它的.ConnectionString
属性会引发异常。
答案 1 :(得分:1)
检查其检索数据
如果你写的像
DataSet.Table[0]
检查返回数据,DataSet必须包含表格。
答案 2 :(得分:1)
看起来你不需要第二个.connectionstring。您必须将连接字符串放在app.config的connectionstrings标记中的正确位置。该地点需要在app.config中具体,否则您的代码将找不到连接字符串。