日期:2014-05-18  浏览次数:20988 次

ConnectionString 属性尚未初始化,很奇怪的一个问题~
private   SqlConnection   sqlConn;
private   SqlDataAdapter   dataAdapter;

public   DataBaseOperator()
{
this.sqlConn   =   new   SqlConnection( "server=.;uid=sa;pwd=aptech;database=ktvDB ");
}

///   <summary>
///   执行单向操作(执行SQL语句无返回的)
///   </summary>
///   <param   name= "cmdTexe "> SQL命令语句 </param>
public   void   ExecuteNoQuery(string   cmdText)
{
try
{

SqlCommand   command   =   new   SqlCommand(cmdText,this.sqlConn);
this.sqlConn.Open();
command.ExecuteNonQuery();
this.sqlConn.Close();
}
catch(Exception   ex)
{
throw   new   ApplicationException( "数据库操作失败!(单向) ",ex);
}
finally
{
this.sqlConn.Close();
}
}

///   <summary>
///   执行双向操作(执行SQL语句有返回的形式)
///   </summary>
///   <param   name= "cmdText "> SQL命令语句 </param>
///   <param   name= "dataTable "> </param>
public   void   ExecuteQuery(string   cmdText,DataTable   dataTable)
{
try
{
this.dataAdapter   =   new   SqlDataAdapter(cmdText,this.sqlConn);
this.dataAdapter.Fill(dataTable);
}
catch(Exception   ex)
{
throw   new   ApplicationException( "数据库操作失败!(双向) ",ex);
}
}

以上是偶数据库连接类的代码

问题是:我在界面做修改密码功能,之前先得查询数据库验证此信息是否正确,然后修改密码.如过只查询,没问题,或者不查询直接修改,没问题,但是,如过先查询,然后修改,就会报ConnectionString   属性尚未初始化这个异常,不知道怎么解决,希望有牛人帮忙看下,谢谢啦~~

------解决方案--------------------
帖下调用代码
顺便把你try块里的conn.Close()给去掉
------解决方案--------------------
去掉一个close
------解决方案--------------------
UserInfomationByPwd这个方法什么内容
如果先查后改会出问题,估计就是你这个方法里面的问题了