C# 数据访问层DAL.SQLHelper的类型初始值设定项引发异常

火影-信念 2016-01-12 02:11:37
web.Config配置文件数据库连接代码

<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="SqlConn" connectionString="Data Source=.;User ID=sa;PWD=User@123;DataBase=KvdpContext" providerName="System.Data.SqlClient"/>
<clear />

<add name="Com.Gm.Kvdp.Dao.Frameworks.KvdpContextImpl" connectionString="Server=.;Database=KvdpContext;User Id=sa;Password=User@123" providerName="System.Data.SqlClient" />

</connectionStrings>

C#数据库访问层代码

public sealed partial class SqlHelper
{
#region private utility methods & constructors

// Since this class provides only static methods, make the default constructor private to prevent
// instances from being created with "new SqlHelper()"
// private SqlHelper() { }
static SqlHelper() { }
public static string ConnectionString = ConfigurationManager.ConnectionStrings["SqlConn"].ConnectionString;
}

...全文
275 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
如果要调试,那么可以将它改为属性,例如
string _ConnectionString;
        
public string ConnectionString
{
    get
    {
        if (_ConnectionString == null)
            _ConnectionString = ConfigurationManager.ConnectionStrings["SqlConn"].ConnectionString;
        return _ConnectionString;
    }
}
这样,在运行时,你的vs就可以立刻进入调试器状态,你可以查看到底是 ConnectionStrings["SqlConn"] 是 null 还是它返回的东西根本没有 ConnectionString,或者其它原因。
  • 打赏
  • 举报
回复
引用 6 楼 smallmoved 的回复:
[quote=引用 3 楼 sp1234 的回复:] 类型中的 static 变量ConnectionString 的值不能这样初始化。你可以把它写到 static SqlHelper() { } 里边。

 public static SqlHelper() { 
            string ConnectionString = ConfigurationManager.ConnectionStrings["SqlConn"].ConnectionString;
        }

那在DAL类中访问ConnectionString怎么去访问?[/quote] ConnectionString 变量定义,还是要写到实例化方法外边啊。
火影-信念 2016-01-12
  • 打赏
  • 举报
回复
引用 7 楼 xdashewan 的回复:
代码貌似没问题,不是这个引起的
在EF项目中用AOD方式访问数据库
xdashewan 2016-01-12
  • 打赏
  • 举报
回复
代码貌似没问题,不是这个引起的
火影-信念 2016-01-12
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
类型中的 static 变量ConnectionString 的值不能这样初始化。你可以把它写到 static SqlHelper() { } 里边。

 public static SqlHelper() { 
            string ConnectionString = ConfigurationManager.ConnectionStrings["SqlConn"].ConnectionString;
        }

那在DAL类中访问ConnectionString怎么去访问?
火影-信念 2016-01-12
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
类型中的 static 变量ConnectionString 的值不能这样初始化。你可以把它写到 static SqlHelper() { } 里边。
在其他类中怎样去访问ConnectionString 变量值
火影-信念 2016-01-12
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
类型中的 static 变量ConnectionString 的值不能这样初始化。你可以把它写到 static SqlHelper() { } 里边。
写到初始化类中,怎样去调用数据连接?
  • 打赏
  • 举报
回复
类型中的 static 变量ConnectionString 的值不能这样初始化。你可以把它写到 static SqlHelper() { } 里边。
火影-信念 2016-01-12
  • 打赏
  • 举报
回复
着急
火影-信念 2016-01-12
  • 打赏
  • 举报
回复
错误信息

111,098

社区成员

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

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

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