【问题标题】:SQL - Inserting text with line breakes into a column causes errorsSQL - 在列中插入带有换行符的文本会导致错误
【发布时间】:2017-03-10 18:00:55
【问题描述】:

我在数据库中有一个类型为 nvarchar(300) 的列

在页面上,我有一个最大大小限制 = 300 的文本区域,最多允许输入 300 个字符:

<textarea id="txtDescription" maxlength="300" cols="70" rows="5"></textarea>

但由于某种原因,当我在那里输入带有换行符的文本时,就像这样:

 1. First.
 2. Second.
 3. Third.

浏览器没有正确计算输入的符号数,它将一个换行符计为一个额外的字符,但是当我将此值插入 SQL 列时,它给了我一个类型不匹配错误,显然 因为SQL 将一个换行符计为两个字符,超出了最大长度。

现在,因为我不知道用户将在那里输入多少个换行符,有没有办法处理输入值,以便正确地将其插入数据库表中,而不会出现任何错误? (注意:我在客户端使用 Javascript,在服务器端使用 VBscript 编写的经典 ASP)。

这样我就可以保持最多 300 个字符的限制,并且不必将列的类型更改为 nvarchar(MAX)?

【问题讨论】:

    标签: javascript sql-server vbscript textarea line-breaks


    【解决方案1】:

    您可以删除回车符(char(13)\r)并保留换行符(char(10)\n)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-30
      • 1970-01-01
      相关资源
      最近更新 更多