社区
C#
帖子详情
在插入或者更新数据库时,如何自动截断字符串?
realljx
2004-12-24 09:48:07
很多的时候 SQL Server会返回一个错误 说是将截断字符串,可是它却没有截断字符串,而是导致事物失败?
请问:如题。可否设置连接或者命令 在执行操作的过程中 能够自动截断超长的字符串?
...全文
322
19
打赏
收藏
在插入或者更新数据库时,如何自动截断字符串?
很多的时候 SQL Server会返回一个错误 说是将截断字符串,可是它却没有截断字符串,而是导致事物失败? 请问:如题。可否设置连接或者命令 在执行操作的过程中 能够自动截断超长的字符串?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Truly
2004-12-24
打赏
举报
回复
而切我没有办法知道目标字段的大小。
--》EXEC sp_columns @table_name = 'customers',@column_name='companyName'
marvelstack
2004-12-24
打赏
举报
回复
使用前台控制或参数化查询或,存储过程。
exboy
2004-12-24
打赏
举报
回复
在 duamiwsh 里面就是自己写的涵数来处理的
exboy
2004-12-24
打赏
举报
回复
如果是直接使用 SQL 语句的话,那就自己写个函数来处理了。
Truly
2004-12-24
打赏
举报
回复
cmd.Parameters.Add("@item1",SqlDbType.Varchar,256) = yourParam1
Add方法中指定的长度是可以截断的
存储过程的入口参数长度定义也是可以截断的
如:
@para varchar(256),
nga96
2004-12-24
打赏
举报
回复
好像SQL能自动截断吧,兄弟
Jouzen
2004-12-24
打赏
举报
回复
我也想知道 有什么更好的方法。
是不是只能用substr()?
帮顶
realljx
2004-12-24
打赏
举报
回复
恩,是拼的串。而切我没有办法知道目标字段的大小。
难道 SQL Server 没有提供类似的参数 或者 在SQL 语句里面也没有类似的参数 吗?
brightheroes
2004-12-24
打赏
举报
回复
你要用sql来操作的话
是拼的串的话,就要考虑验证了
如果你的sql里面用了参数
比如说insert into xx ..........values(@item1,@item2.....
这样的情况,
.Add("@item1",SqlDbType.Varchar,256) = yourParam1
好像也不会出现截断的情况吧(没有验证过)
brightheroes
2004-12-24
打赏
举报
回复
或者你的UI上,要设置最大限制,比如说,MAXLENGTH之类的属性
realljx
2004-12-24
打赏
举报
回复
可是我的 基本上都是 sql 来直接操作的呵呵:)
brightheroes
2004-12-24
打赏
举报
回复
如果是用存储过程来保存数据的话
采用varchar(i)类型的参数
将会自动截断超过i之后的数据
i为一个整数
realljx
2004-12-24
打赏
举报
回复
U P 救命啊!!~
realljx
2004-12-24
打赏
举报
回复
沙发 先祝大家圣诞快乐。
在隆冬来临之际,希望你身体健康,永远快乐的就像炉子上的水壶一样,即使屁股烧得红红的,也依然快乐的吹着口哨幸福的冒着鼻涕泡泡。圣诞节来临了,朋友,祝你节日快乐~!
李洪喜
2004-12-24
打赏
举报
回复
肯定是你的数据表的字段设置的长度不够了。所以才出现这种情况。
检查一下吧。
IsSky
2004-12-24
打赏
举报
回复
定义InsertCommand,增加参数可以定义变量的长度。
可以接取
xym5
2004-12-24
打赏
举报
回复
可以在拼接以后对得到的字串进行截断,自己需要写代码处理
realljx
2004-12-24
打赏
举报
回复
看起来 真的只能自己来了。
看了 联机帮助也没有什么收获,。
KentYu
2004-12-24
打赏
举报
回复
不用存储过程,自己拼sql的化,自己写个函数截断啊
往
数据库
插入
数据提示“将
截断
字符串
或二进制数据”
往
数据库
插入
数据
时
出现错误“将
截断
字符串
或二进制数据”。 在网上找了下,是
插入
的数据超过了
数据库
中字段的长度,这个问题尤其是在
插入
中文
时
特别容易出现。 这个
时
候同学你应该把SQL语句给粘出来看看,特别是中文字符的字段,然后打开表设计看看哪个字段超过了字段的长度,修改即可
达梦
数据库
遇到“
字符串
截断
”该怎么办
最近工作中发现某应用执行操作报错“
字符串
截断
”,找到对应sql语句后发现问题出在cast强制转换这里,经过简化重现,其报错sql的本质如下:select cast(to_number(123) as varchar2(1)) p6 from dual; 可以看出当要把数据类型为number的数字强制转换成小于其自身长度的
字符串
类型
时
才会报错。找到出问题的本质其实就很好规避这个报错了,下面就这个问题讨论一下不同数据类型下的cast会有什么不同的表现吗?这里我们主要讨论不同数据类型下转换成小于其本身长度的var
如何向
数据库
插入
带有单引号(')的
字符串
?
用SQL语句往
数据库
某字段(字符型)中
插入
字符串
,但是当该
字符串
中带有单引号(')
时
就会出错!因为
插入
的
字符串
被从单引号处
截断
,造成SQL语句的语法错误! 我们在编程当中,经常会遇到在操作
数据库
时
,向表里
插入
带有单引号的
字符串
。如果不作处理程序会报错,下面看看我们是怎么的处理它的。 用SQL语句往
数据库
某字段(字符型)中
插入
字符串
,但是当该
字符串
中带有单引号(')
时
就会出错!因为插
mysql
插入
字符串
带引号_如何向
数据库
插入
带有单引号(')的
字符串
?
我们在编程当中,经常会遇到在操作
数据库
时
,向表里
插入
带有单引号的
字符串
。如果不作处理程序会报错,下面看看我们是怎么的处理它的。用SQL语句往
数据库
某字段(字符型)中
插入
字符串
,但是当该
字符串
中带有单引号(')
时
就会出错!因为
插入
的
字符串
被从单引号处
截断
,造成SQL语句的语法错误!解决方法:遍历
字符串
,把一个(')换成两个(' ')就可以了,在C#里,其实用str.Replace("'", "''"...
SQLServerException:将
截断
字符串
或二进制数据的解决方法或者SQL
数据库
之将
截断
字符串
或二进制数据 语句已终止
导致问题出现的主要原因:
插入
的值的长度超出了某列允许的最大长度。 例如,某列数据类型是varchar(10),写入超过10个长度的
字符串
就会引发这类错误。 e.g:name varchar(30),写入超过30个长度,那么就会收发这类错误 ...
C#
111,098
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章