我的数据库里包含两个表:一个登录表,和一个图片信息表。
有两个窗口:一个窗口为登录界面窗口--Form1,一个为图片信息表操作窗口--Form2(主要实现功能:添加图片)
操作流程:1.先在Form1成功登录后,隐藏该窗口,弹出Form2.
          2.Form2操作完后,隐藏Form2,再重新弹出Form1.          问题:在Form1窗口,数据库状态为打开,其中实例化一个SqlCommand---mySqlCommand1.当登录成功,弹出Form2窗口时,这里需要数据库需要关闭么?
                进入Form2窗口,其中实例化一个SqlCommand---mySqlCommand2,当Form2上的操作完毕后,弹出Form1时,需要关闭数据库么?

解决方案 »

  1.   

    登录成功就关闭连接,下次需要操作数据库时再打开连接。form2操作完毕也是一样的,关闭连接。
      

  2.   

    我在我的设计中,是Dispose(),而不是Close()。
    分析:如果用Close()只是关闭连接,但是,资源他没有释放。
           而用Dispose(),他是关闭连接且同时释放资源。
    这里如果对第一个窗口Close(),资源没有释放,在第二个窗口新建数据库连接时,释是否会出现冲突?
    就是说这里用Dispose(),不应该用Close()。
      

  3.   

    Close是关闭与数据库的连接。这是关闭任何打开连接的首选方法。
    这是VS中Close的方法说明。
    用的时候打开,用完就关闭,这是编程的良好习惯。
    这里如果对第一个窗口Close(),资源没有释放,在第二个窗口新建数据库连接时,释是否会出现冲突?
    不会冲突,不会发生你想象的事情。
    Dispose()释放资源,再次创建就很费劲了。对于SqlConnection  Open,Colse才是正确操作。