我在考虑构建一个方法,我可以通过connString
来生成我的SqlConnection
。正在考虑构建一个SqlConnection方法......这是一个坏主意吗?
这是一个坏主意吗?如果我将自己的电话打包在他们自己的using (SqlConnection
声明中,它会更好吗?
我们遇到了另一个应用程序的问题,其中一个开发人员传递了连接并保持打开状态,这导致了很多悲伤。
只是想问问专家之前尝试可能导致问题的事情。
我在考虑构建一个方法,我可以通过connString
来生成我的SqlConnection
。正在考虑构建一个SqlConnection方法......这是一个坏主意吗?
这是一个坏主意吗?如果我将自己的电话打包在他们自己的using (SqlConnection
声明中,它会更好吗?
我们遇到了另一个应用程序的问题,其中一个开发人员传递了连接并保持打开状态,这导致了很多悲伤。
只是想问问专家之前尝试可能导致问题的事情。
这是我用的是常见的模式,我认为这是很好的:
using (var cn = new SqlConnection(DatabaseConnection.ConnectionStringToDb))
{
using (var cmd = new SqlCommand("command string", cn))
{
// your code
}
}
凡DatabaseConnection.ConnectionStringToDb
是一个静态辅助类的属性创建获取或存储连接字符串。
我使用类似的,但你可以做cn.CreateCommand(“select ...”)它更好 –
是的..虽然你没有[CreateCommand()](http://msdn.microsoft.com/ en-us/library/1756xwa3.aspx)这需要一个参数..我想这是一个错字。 –
请勿保持连接处于打开状态。如果你在使用(SqlConnection con = new SqlConnection(...))的地方使用.Net使用连接池,其工作速度非常快。你可以阅读在这里http://msdn.microsoft.com/en-us/library/8xx3tyca.aspx
我不认为OP正在争辩**,而赞成**保持连接畅通。事实上,他提到这样做在另一个应用程序中造成了问题。 – Yuck
我想建立的是我可以在 CONNSTRING传递,以便生成我的SqlConnection的方法。这是一个不好的 的想法?
这是一个好主意。但微软在SqlConnection的打败你将它与此构造:
使用该示例何时关闭连接? ? – scarpacci
@scarpacci - 在你的*建议实现下,连接什么时候关闭。我们可以看到你的建议是一种方法,给定一个连接字符串,返回一个连接对象 - 这听起来非常像'新的SqlConnection'正在做什么...... –
显示你的计划如何使用它的一个例子。 – Yuck
与现有功能相比,这是一个非常好的主意。问题是:它够了吗?我与@Yuck:让我们看看你想如何使用它。 –
构建一个DataAccess类库,该类库公开实体或方法(如GetTable,ExecuteCommand等),但不会将此类类库的任何细节公开给调用业务逻辑或UI(如果您懒惰并且不想创建BL类库)。在DataAccess类中,如前所述,在每个连接周围使用,当您检索DataReader时,您不能在连接周围使用using,但可以创建读取器关闭时关闭连接的读取器,在调用代码中放置在读者身边使用。 –