修改配置文件出错

nsqsmile 2009-08-10 11:35:09
.net 3.5中 使用

ConnectionStringsSection csSection = config.ConnectionStrings;
csSection.ConnectionStrings["MSSQL"].ConnectionString = textBox1.Text.Trim(); //运行这一句时,抛出 “System.NullReferenceException: 未将对象引用设置到对象的实例。”的异常

在源app.config中有这个一项,并且在debug下的aa.exe.config中也有,就是调用的时候出错,我用csSection.ConnectionStrings[0]ConnectionString = textBox1.Text.Trim();这个设置的时候,提示“System.Configuration.ConfigurationErrorsException: 索引 0 超出范围。”
...全文
148 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hecker728 2009-08-10
  • 打赏
  • 举报
回复
检查 ConnectionStrings["MSSQL"] 中MSSQL是否存在,拼写是否正确
Lovely_baby 2009-08-10
  • 打赏
  • 举报
回复
你的数据库连接 不用通过textBox1赋值吧
直接写sql连接语句
nsqsmile 2009-08-10
  • 打赏
  • 举报
回复
程序中确实找不到csSection.ConnectionStrings["MSSQL"] 该节点,但是在config文件中有,
<connectionStrings>
<add name="MSSQL" connectionString="..."
providerName="System.Data.SqlClient" />
<add name="Oracle" connectionString="..."
providerName="System.Data.OracleClient" />
</connectionStrings>
和程序目录下的app.config一致。

程序中读取出一个节点为<add name="localsqlserver"/>,我想可能和使用enterprise library 设置的有关,因为在enterprise library的console中有这个节点。
MasDn 2009-08-10
  • 打赏
  • 举报
回复
csSection.ConnectionStrings["MSSQL"]

该节点不存在吧 可以先判断再Add进去
xxxxxchener 2009-08-10
  • 打赏
  • 举报
回复
csSection.ConnectionStrings["MSSQL"]

是在config里配置的。
<connectionStrings>
<add name="MSSQL" />
</connectionStrings>

如果想手写。那就要换一中方式。
比如:
XmlDocument objXml = new XmlDocument();
objXml.Load(Application.StartupPath + "\\" + "domeManage.exe.config");

具体方法。就不说了。你自己研究研究。
lunasea0_0 2009-08-10
  • 打赏
  • 举报
回复
你的.config文件里面有没有这个阿
<connectionStrings>
<add name="MSSQL" />
</connectionStrings>

这样的,没有肯定找不到

qq904492758 2009-08-10
  • 打赏
  • 举报
回复
csSection.ConnectionStrings[0]ConnectionString 不是这么赋值

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧