机房重构ing。在每个学习中一直陪伴我们左右的,还是那些大大小小的问题,正因为它们的存在,才让我们的学习有了收获,有了纠结,也有了乐趣。
这几天一直在研究sqlhelper和泛型集合的使用,很那什么的说,纠结了几天,今天算是有点结果了,但是结果永远不会轻松而至。
附图一张:
错误提示:ConnectionString属性尚未初始化。因为它的出现让我再次开始了1小时多的百度之旅,查查查!下面
就总结一下这个问题。供大家参考,有不对的,希望看到的人,留下评论!
分析:
属性尚未初始化,说明在使用它之前没有给它赋值。
第一步.首先我们可以断点调试,看看是否给它赋值,在实践之后发现结果如下:
第二步. 上图的错误,说明可能是数据连接那里出错,转去查看配置文件中数据连接字符串是否正确。
正确如下:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key= "Connstr" value="Server=hcy-PC;Database=Charge;User ID=sa;password=123456"/> </appSettings> </configuration>
再次运行之后,Connstr有值了,但结果还是错误。
第三步. 查看编写的代码,是否有逻辑错误或是书写错误的情况。
错误示范:这样写,在执行的时候,就会刚实例化一个Conn,然后又新创建了一个Conn,就出现了上述的错误提示。
当然大家还要注意第一行代码是否正确。从查资料发现,这里是大家很容易出错的地方。
Private ReadOnly ConnStr As String = ConfigurationManager.AppSettings("ConnStr") <span style="color:#ff0000;"> Dim Conn As New SqlConnection(ConnStr)</span>
<span style="color:#ff0000;"> Public Sub New() Conn = New SqlConnection End Sub</span>
第一种:在定义Conn时,就直接初始化它。
<span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;">Private ReadOnly ConnStr As String = ConfigurationManager.AppSettings("ConnStr") <span style="color:#333333;"> </span><span style="color:#ff0000;">Dim Conn As New SqlConnection(ConnStr) </span></span></span>
第二种:先定义,再定义一个构造函数New去实例化它。
<span style="font-size:18px;">Private ReadOnly ConnStr As String = ConfigurationManager.AppSettings("ConnStr") <span style="color:#ff0000;"> Dim Conn As New SqlConnection Public Sub New() Conn = New SqlConnection(ConnStr) End Sub</span></span>