首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >datatable更新后,SQL中的新行被剥离

datatable更新后,SQL中的新行被剥离
EN

Stack Overflow用户
提问于 2012-05-24 23:48:44
回答 1查看 319关注 0票数 0

我有一个通过剥离html来修改的datatable。在html条期间,如果遇到<br><p><li>,则用System.Environment.NewLine替换它们。我正在将html条带过程的每一个实例记录到一个文本文件中,并且格式在日志中看起来很好(所有的CRLF都被保留)。但是,当对datatable调用update方法并将数据发送到数据库时,CRLF字符将全部消失。

代码片段:

代码语言:javascript
复制
public static class HtmlStripper
{
    static Regex _htmlRegex = new Regex("<.*?>", RegexOptions.Compiled);
    static Regex _liRegex = new Regex("<li>", RegexOptions.Compiled);
    static Regex _brRegex = new Regex("<(br)?(BR)?\\s?/?>\\s*", RegexOptions.Compiled);
    static Regex _pRegex = new Regex("</?[phPH].*?>\\s*", RegexOptions.Compiled);

    public static string StripTagsRegexCompiled(string source)
    {
        string noPorH = _pRegex.Replace(source, System.Environment.NewLine);
        string noBr = _brRegex.Replace(noPorH, System.Environment.NewLine);
        string noLi = _liRegex.Replace(noBr, System.Environment.NewLine + "t- ");
        return _htmlRegex.Replace(noLi, string.Empty);
    }

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-25 02:45:21

SSMS将删除数据网格中的CRLF,但它们仍在数据库中。您可以通过按CTRL-T来证明这一点,它会将结果转换为文本,而不是网格。然后,您可以按CTRL-D键返回将结果显示在网格中。

您可以使用以下命令对其进行测试:

代码语言:javascript
复制
SELECT  'Not' + CHAR(10) + CHAR(13) + 'Together'

首先在网格中显示结果:

代码语言:javascript
复制
(No Column name)
Not  Together

然后在文本结果中:

代码语言:javascript
复制
SQL Server parse and compile time: 
   CPU time = 0 ms, elapsed time = 0 ms.

-------------
Not

Together

(1 row(s) affected)


SQL Server Execution Times:
   CPU time = 0 ms,  elapsed time = 0 ms.
SQL Server parse and compile time: 
   CPU time = 0 ms, elapsed time = 0 ms.

SQL Server Execution Times:
   CPU time = 0 ms,  elapsed time = 0 ms.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10740905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档