SQL - 将带有换行符的文本插入列中会导致错误
SQL - Inserting text with line breakes into a column causes errors
我在数据库中有一列类型:nvarchar(300)
在一个页面上,我有一个最大大小限制为 300 的文本区域,允许最多输入 300 个字符:
<textarea id="txtDescription" maxlength="300" cols="70" rows="5"></textarea>
但出于某种原因,当我输入带有换行符的文本时,就像这样:
1. First.
2. Second.
3. Third.
浏览器没有正确计算输入的符号数,它将一个换行符计为一个额外的字符,但是当我将这个值插入 SQL 列时,它给我一个类型不匹配错误,显然 因为 SQL 将一个换行符计为两个字符 并且超过了最大长度。
现在,因为我不知道用户会在那里输入多少换行符,有什么方法可以处理输入值,以便将其正确插入数据库 table,没有任何错误? (注意:我在客户端使用 Javascript,在服务器端使用 VBscript 编写的经典 ASP。
以便我保持最多 300 个字符的限制并且不必将列的类型更改为 nvarchar(MAX)?
您可以删除回车 returns(char(13)
或 \r
)并保留换行符(char(10)
或 \n
)。
我在数据库中有一列类型:nvarchar(300)
在一个页面上,我有一个最大大小限制为 300 的文本区域,允许最多输入 300 个字符:
<textarea id="txtDescription" maxlength="300" cols="70" rows="5"></textarea>
但出于某种原因,当我输入带有换行符的文本时,就像这样:
1. First.
2. Second.
3. Third.
浏览器没有正确计算输入的符号数,它将一个换行符计为一个额外的字符,但是当我将这个值插入 SQL 列时,它给我一个类型不匹配错误,显然 因为 SQL 将一个换行符计为两个字符 并且超过了最大长度。
现在,因为我不知道用户会在那里输入多少换行符,有什么方法可以处理输入值,以便将其正确插入数据库 table,没有任何错误? (注意:我在客户端使用 Javascript,在服务器端使用 VBscript 编写的经典 ASP。
以便我保持最多 300 个字符的限制并且不必将列的类型更改为 nvarchar(MAX)?
您可以删除回车 returns(char(13)
或 \r
)并保留换行符(char(10)
或 \n
)。