}
console.writeline(e.tostring());
console.writeline("update failed.");
}
myconnection.close();
}
x.总是关闭connections和datareaders
在你使用完connection或者datareader对象后,你应该明确地关闭它们。系统中的碎片整理程序只是在最后需要的时候才进行整理,而一些很耗资源的连接还得由你自己来释放。同时如果你不明确地关闭连接,此连接就有可能不返回连接池,除非连接池的max pool size已经达到并且此连接还仍然有效。
注意:在你的类的finalize方法中不要使用close或者dispose运用到一个connection或者一个datareader或者任何被管理对象上。在一个finalizer中,仅仅释放你的类直接拥有的无法管理的资源。如果你的类不拥有任何无法管理的资源,就不要在你的类使用finalize方法。
xi.在c#中使用using声明
在c#中,一个非常便利的保证关闭你使用过的connection和datareader对象的方法是使用using声明。当对象超出了它的使用范围,using声明就会自动地释放该对象。举例:
‘c#
string connstring = "data source=localhost;integrated security=sspi;initial catalog=northwind;";
using (sqlconnection conn = new sqlconnection(connstring))
{
sqlcommand cmd = conn.createcommand();
cmd.commandtext = "select customerid, companyname from customers";