Строка SQLBulkCopy рассчитывает, когда завершенный

#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)

Затем добавьте условие if: -

if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"10.0")) {
   //Your code
}       
23
задан SchwartzE 27 July 2009 в 14:26
поделиться

2 ответа

Я думаю, вам нужно выполнить запрос COUNT () к таблице после завершения, как в MSDN пример здесь .

Кроме этого, разве ты не можешь сказать заранее? например, если вы передаете DataTable в WriteToServer (), то вы знаете, сколько записей, выполнив для него .Rows.Count.

1
ответ дан 29 November 2019 в 01:41
поделиться

Следующий хак (с использованием отражения) является опцией:

    /// <summary>
    /// Helper class to process the SqlBulkCopy class
    /// </summary>
    static class SqlBulkCopyHelper
    {
        static FieldInfo rowsCopiedField = null;

        /// <summary>
        /// Gets the rows copied from the specified SqlBulkCopy object
        /// </summary>
        /// <param name="bulkCopy">The bulk copy.</param>
        /// <returns></returns>
        public static int GetRowsCopied(SqlBulkCopy bulkCopy)
        {
            if (rowsCopiedField == null)
            {
                rowsCopiedField = typeof(SqlBulkCopy).GetField("_rowsCopied", BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance);
            }

            return (int)rowsCopiedField.GetValue(bulkCopy);
        }
    }

А затем используйте класс следующим образом:

int rowsCopied = SqlBulkCopyHelper.GetRowsCopied(bulkCopyObjectInYourCode);

Надеюсь, это поможет.

31
ответ дан Benzi 29 November 2019 в 01:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: