故障描述。台式机是服务器。全部远程连接已开。
客户端是同网段的笔记本。
客户端sql连接语句假如写成 public static string CONN_STRING = “data source = 192.168.0.105,1433;database = qhjx;
uid=sa;pwd=123456789”; 就能链接服务器的数据库
假如换成 public static string CONN_STRING = System.Configuration.ConfigurationManager.AppSettings
[“LiuWei.Properties.Settings.Setting”].ToString();
登陆的时候就会提示 sqlDbhelper 类型初始值设定项引发异常
app.config文件如下
<?xml version=”1.0″ encoding=”utf-8″ ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name=”LiuWei.Properties.Settings.Setting” connectionString=”Data Source=.;Initial Catalog=qhjx;Persist Security
Info=True;User ID=sa;Password=123456789″
providerName=”System.Data.SqlClient” />
</connectionStrings>
</configuration>
客户端是同网段的笔记本。
客户端sql连接语句假如写成 public static string CONN_STRING = “data source = 192.168.0.105,1433;database = qhjx;
uid=sa;pwd=123456789”; 就能链接服务器的数据库
假如换成 public static string CONN_STRING = System.Configuration.ConfigurationManager.AppSettings
[“LiuWei.Properties.Settings.Setting”].ToString();
登陆的时候就会提示 sqlDbhelper 类型初始值设定项引发异常
app.config文件如下
<?xml version=”1.0″ encoding=”utf-8″ ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name=”LiuWei.Properties.Settings.Setting” connectionString=”Data Source=.;Initial Catalog=qhjx;Persist Security
Info=True;User ID=sa;Password=123456789″
providerName=”System.Data.SqlClient” />
</connectionStrings>
</configuration>
解决方案
50
是的。vs无法助你调试“类型初始值设定项引发异常”这种异常的真正原因,所以你应该将类型(或对象实例)初始化方法中的代码重构为初始化之后才执行的,让调试器真正起作用。至于真正什么问题造成异常,你本人就能调试出来了!
50
提示一下,你的结论还是错误的,不存在你所说的“sqlDbhelper里写错了获取连接方法”,你cs里跟config里的写法都是正确的,但一起用就是错误的。
你cs文件不改,配置文件写成这样也是可以的
<appSettings> <add key="LiuWei.Properties.Settings.Setting" value="Data Source=.;Initial Catalog=qhjx;Persist Security Info=True;User ID=sa;Password=123456789" /> </appSettings>
只是说你用了1.1种的方法去取2.0配置方式中的值,或是反过来做,总之结果就是引发了静态字段初始化失败导致的异常。
没有太多人会记住.net中数万个类跟方法,根本的一点还是要掌握调试的技巧,发现异常能快速的进行定位,像这样的问题就会很快发现并解决。