【发布时间】:2014-10-05 07:36:55
【问题描述】:
我使用下面提到的代码将数据插入 SQL,为此我使用了下面提到的代码
public void ExecuteSQLCommandWithParameters(string command,params object[] Values)
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection();
conn.ConnectionString = _connectionString;
try
{
conn.Open();
System.Data.SqlClient.SqlCommand com = new System.Data.SqlClient.SqlCommand(command, conn);
for (int i = 0; i < Values.Length; i++)
{
com.Parameters.Add("@"+i.ToString(), Values[i]);
}
com.ExecuteNonQuery();
com.Dispose();
conn.Close();
Values = null;
}
catch (Exception ex)
{
log.Error(string.Format("Error in ExecuteSQLCommand(), command {0}, exception: {1}", command, ex.Message));
}
}
上面提到的函数会执行一千次trong> 我的问题是需要使NULL params object[] Values 我的意思是我需要写类似的代码
Values=null;
请给我建议
【问题讨论】:
-
没有。垃圾收集器会为你做这件事。
-
不过,将该连接粘贴在 using 块中不会有什么坏处!
-
@pwas 垃圾收集不会做这样的事情。垃圾收集将通过将其设置为 null 来完成 OP 希望完成的任务,但 OP 希望完成的任务尚未通过该分配完成。
-
如果您将对象设置为
null,那么您将对象的生命周期延长到该语句。如果你不这样做,它可能会在你的代码没有引用它的地方被垃圾收集。
标签: c#