我正在打开一个数据库的连接,我需要在关闭连接之前发出多个删除。我有以下代码,但所有using语句看起来都很奇怪。有一个更好的方法吗?这是使用带有连接/命令的using语句的正确方法吗?
using(OracleConnection oracleConnection = new OracleConnection(connectionString))
{
string table1Command= "DELETE FROM TABLE1...";
using(OracleCommand oracleCommand = new OracleCommand(table1Command, oracleConnection))
{
oracleCommand.ExecuteNonQuery();
}
string table2Command= "DELETE FROM TABLE2...";
using(OracleCommand oracleCommand = new OracleCommand(table2Command, oracleConnection))
{
oracleCommand.ExecuteNonQuery();
}
}
答案 0 :(得分:2)
写一个函数:
void InvokeCommand (OracleConnection oracleConnection, string tableCommand)
{
using(OracleCommand oracleCommand = new OracleCommand(tableCommand, oracleConnection))
{
oracleCommand.ExecuteNonQuery();
}
}
答案 1 :(得分:0)
您正在使用using
语句。完成后,OracleConnection
和OracleCommand
都应处理掉,using
语句是在方法范围内执行此操作的最明确方式。
关于如何配置ConnectionPooling有一些细微之处,但我认为这超出了你的问题的范围。
*
请注意,OracleConnection
类不线程安全,这意味着如果您尝试重新使用OracleConnection
个实例,那么您必须制作确保多个线程不会同时使用同一个实例。