我的数据库里包含两个表:一个登录表,和一个图片信息表。
有两个窗口:一个窗口为登录界面窗口--Form1,一个为图片信息表操作窗口--Form2(主要实现功能:添加图片)
操作流程:1.先在Form1成功登录后,隐藏该窗口,弹出Form2.
2.Form2操作完后,隐藏Form2,再重新弹出Form1. 问题:在Form1窗口,数据库状态为打开,其中实例化一个SqlCommand---mySqlCommand1.当登录成功,弹出Form2窗口时,这里需要数据库需要关闭么?
进入Form2窗口,其中实例化一个SqlCommand---mySqlCommand2,当Form2上的操作完毕后,弹出Form1时,需要关闭数据库么?
有两个窗口:一个窗口为登录界面窗口--Form1,一个为图片信息表操作窗口--Form2(主要实现功能:添加图片)
操作流程:1.先在Form1成功登录后,隐藏该窗口,弹出Form2.
2.Form2操作完后,隐藏Form2,再重新弹出Form1. 问题:在Form1窗口,数据库状态为打开,其中实例化一个SqlCommand---mySqlCommand1.当登录成功,弹出Form2窗口时,这里需要数据库需要关闭么?
进入Form2窗口,其中实例化一个SqlCommand---mySqlCommand2,当Form2上的操作完毕后,弹出Form1时,需要关闭数据库么?
分析:如果用Close()只是关闭连接,但是,资源他没有释放。
而用Dispose(),他是关闭连接且同时释放资源。
这里如果对第一个窗口Close(),资源没有释放,在第二个窗口新建数据库连接时,释是否会出现冲突?
就是说这里用Dispose(),不应该用Close()。
这是VS中Close的方法说明。
用的时候打开,用完就关闭,这是编程的良好习惯。
这里如果对第一个窗口Close(),资源没有释放,在第二个窗口新建数据库连接时,释是否会出现冲突?
不会冲突,不会发生你想象的事情。
Dispose()释放资源,再次创建就很费劲了。对于SqlConnection Open,Colse才是正确操作。