您现在的位置: 365建站网 > 365学习 > ConnectionString属性尚未初始化的解决方法

ConnectionString属性尚未初始化的解决方法

文章来源:365jz.com     点击数:520    更新时间:2017-12-12 19:26   参与评论

今天在编程的时候,遇到了connectionstring尚未初始化的问题,在网上找了很多资料也没有把问题解决,虽然这个问题比较常见.但是大致知道了多数说是配置的问题,其根本原因是没有获得KEY.我的配置中是

<add  name="S601ConnectionString" connectionString="Data Source=localhost;Initial Catalog=S601;User ID=sa;Password=123456" providerName="System.Data.SQLClient" /> 

,在其他网页上是没有错误的,有很多说<add>中应该为KEY="",value=""我改完之后还是不好用.于是我就想了干吗要那么费劲的让connection自己去找连接字符串,自己给它写上不就可以了,于是我在.cs页中直接把原来的

SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["S601ConnectionString"]); 
            SqlCommand cmd = new SqlCommand("select count(*) from Role where sAdmin='" +this.type.Text+ "'and sPwd='" + TextBox1.Text + "'", conn); 
            cmd.Connection.Open(); 
            int i = (int)cmd.ExecuteScalar(); 
            cmd.Connection.Close(); 
            if(i>0) 
            { 
                Response.Write(bc.MessageBox("location.href='../back-stage management.aspx'")); 
                Session["username"]=this.type.Text.ToString(); 
            } 
            else  
            { 
                Response.Write(bc.MessageBox("你选择的角色有错或者密码不对!")); 
            } 

改为

SqlConnection conn = new SqlConnection("Data Source=localhost;Database=S601;Uid=sa;Pwd=123456"); 
            SqlCommand cmd = new SqlCommand("select count(*) from Role where sAdmin='" +this.type.Text.ToString()+ "'and sPwd='" + TextBox1.Text + "'", conn); 
            cmd.Connection.Open(); 
            int i = (int)cmd.ExecuteScalar(); 
            cmd.Connection.Close(); 
            if(i>0) 
            {   //登录成功 
                Response.Write("<mce:script language=JavaScript><!-- 
location.href='back-stage management.aspx' 
// --></mce:script>"); 
                 
                
            } 
            else  
            { 
                Response.Write(bc.MessageBox("你选择的角色有错或者密码不对!")); 
            } 

这样就OK了

 

问题前因:使用动软代码生成的三成模板然后复制到相应的类库

             动软生成的 sql帮助类 推荐的是DBsqlhelp

      期间引用了:BLl层:Maticsoft.Common.dll

          DAl层:Maticsoft.DBUtility.dll

 

解决问题思路:百度全是配置文件错误:事实也是如此,但是却找不到到底哪里错了,

        于是使用 IL Spy(反编译) DBUtility 所引用的sql帮助类

 

反编译之后

 

 

 首先就找到了这个帮助类,一看原来web.config的配置文件使用的是  Appsettings这种链接数据库的方式于是

 

 

 

于是注销上面的 connectionstrigs  使用了 aoosettings

 

运行调试,发现还是出错

仔细一看,名字没错啊,配置没错啊,发狂半小时

 

继续搞

深入这个bll文件

首先找到dal层的链接数据库方法,跳进去,之后,发现只能反编译

 

 于是反编译查找这个鬼方法到底是怎么运行的

点击跳进这个方法

 

最后他娘的发现原来还是名字错了,一阵发狂,写下了今天这个玩意

 

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (520人查看1条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
2017年12月12日 19:30游客

谢谢你,解决问题了!

------分隔线----------------------------