• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

SQL Server 调用 C# 方法实现正则表达式验证

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Ø  前言

1.   SQL Server 中默认是不支持正则表达式验证的,如果需要某个字符串匹配一个正则表达式的验证规则,就需要额外的编写 C# 方法,并发布到 SQL Server 数据库中。

2.   很幸运,在 VS 2005 之后的版本中,都支持创建 SQL Server 数据库项目,在该项目中可以创建支持调用 C# 函数的存储过程、函数、触发器等等。

3.   本文主要学习以下几点:

1)   VS 2013 中创建 SQL Server 数据库项目。

2)   创建 C# 函数(完成正则表达式验证)。

3)   发布 C# 函数到 SQL Server 数据库中。

4)   SQL Server 调用正则表达式验证函数(标量值函数)。

 

1.   VS 2013 中创建 SQL Server 数据库项目

1)   右键解决方案,选择添加 -> 新建项目 -> 其他语言 -> SQL Server -> SQL Server 数据库项目,如图:

 

2.   创建 C# 函数(完成正则表达式验证)

1)   右键 SQL Server 数据库项目,选择添加 -> 新建项 -> SQL CLR C# -> SQL CLR C# 用户定义的函数,如图:

2)   默认会创建一个名为 UserDefinedFunctions 的部分类,和一个标记为 Microsoft.SqlServer.Server.SqlFunction 特性的静态方法。类名可以更改,也可以是非部分类,但是必须是静态方法。

public partial class UserDefinedFunctions

{

    [Microsoft.SqlServer.Server.SqlFunction]

    public static SqlString MySqlFunction()

    {

        // 在此处放置代码

        return new SqlString (string.Empty);

    }

}

3)   修改该方法完成正则表达式验证(也可以添加其他方法)

/// <summary>

/// 根据指定的字符串与正则表达式模式,验证是否匹配验证规则。

/// </summary>

/// <param name="input">需要验证的字符串。</param>

/// <param name="pattern">正则表达式。</param>

/// <param name="ignoreCase">是否忽略大小写。</param>

/// <returns></returns>

[Microsoft.SqlServer.Server.SqlFunction]

public static bool RegexMatch(string input, string pattern, bool ignoreCase)

{

    bool result = false;

    try

    {

        if (!string.IsNullOrEmpty(input) && !string.IsNullOrEmpty(pattern))

        {


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#下载网页为mht文件发布时间:2022-07-13
下一篇:
C#函数式编程之部分应用发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap