Как возвратить nvarchar (макс.) в UDF CLR?

Вам необходимо добавить прослушиватель событий при создании сетки. Вы удаляете свою сетку, к которой был прикреплен исходный прослушиватель события, а к вновь созданному ничего не прикреплено: 111], чтобы вам не нужно было добавлять прослушиватель для каждой ячейки и добавлять его в контейнер.

11
задан davek 12 September 2012 в 13:26
поделиться

1 ответ

О, безотносительно, я нашел ответ сам:

/// <summary>
/// Replaces each occurrence of sPattern in sInput with sReplace. This is done 
/// with the CLR: 
/// new RegEx(sPattern, RegexOptions.Multiline).Replace(sInput, sReplace). 
/// The result of the replacement is the return value.
/// </summary>
[SqlFunction(IsDeterministic = true)]
[return: SqlFacet(MaxSize = -1)]
public static  SqlString FRegexReplace([SqlFacet(MaxSize = -1)]string sInput, 
       string sPattern, string sReplace)
{
    return new Regex(sPattern, RegexOptions.Multiline).Replace(sInput, sReplace);
}

Идея состоит в том, чтобы подсказать SQL Server, что вход и возвращаемые значения не являются значением по умолчанию nvarchar(4000), но имейте другой размер.

Я изучил новый прием относительно атрибутов: Они могут быть добавлены к параметрам, а также самому методу, (довольно очевидному), но также и к возвращаемому значению с [return: AttributeName(Parameter=Value, ...)] Синтаксис.

24
ответ дан 3 December 2019 в 04:14
поделиться
Другие вопросы по тегам:

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