1

我只是浏览 SQLHelper Class V2 中的代码,我注意到以下内容

    public static int ExecuteNonQuery(SqlTransaction transaction, CommandType commandType, string commandText, params SqlParameter[] commandParameters)
    {
        if( transaction == null ) throw new ArgumentNullException( "transaction" );
        if( transaction != null && transaction.Connection == null ) throw new ArgumentException( "The transaction was rollbacked or commited, please provide an open transaction.", "transaction" );

        // Create a command and prepare it for execution
        SqlCommand cmd = new SqlCommand();
        bool mustCloseConnection = false;
        PrepareCommand(cmd, transaction.Connection, transaction, commandType, commandText, commandParameters, out mustCloseConnection );

        // Finally, execute the command
        int retval = cmd.ExecuteNonQuery();

        // Detach the SqlParameters from the command object, so they can be used again
        cmd.Parameters.Clear();
        return retval;
    }

该命令不在“使用博尔克”中是有原因的吗?我在代码的其他地方看到了“使用块”的使用。

4

1 回答 1

0

我的猜测是,因为该命令在整个函数范围内使用,所以它只会添加额外的代码。不同的开发者喜欢不同的实现。

于 2009-06-26T20:25:56.683 回答