将截断字符串或二进制数据
情况是这样的刚开始见表的时候他的字符长度比较少,后来修改的很大了,再输入时的字符绝对没超过。但是还是出现这种情况,后来我重建表后就把字符长度设为很大的后来就不出现了,这是怎么回事??? 展开
2022-12-01 · 百度认证:北京惠企网络技术有限公司官方账号
原因在于数据的长度不符合才造成的。
解决办法当然有多种,一是修改数据库字段大小; 二是加强数据强壮性,严格的输入判断。
目前是采用修改数据的方法:alter table1 alter column caller varchar(50)
主要原因就是你增加的数据字段长度超过数据库中字段所定义长度,去查看一下自己数据库中的字段的长度,一般是误写出来的,查看一下自己数据库中需要自己设置字段类型长度的字段,修改其字段长度为最大就可以了,Sql server 可以设置其为varchar(max)或者text类型,建议采用varchar(max),便于映射。
附 LOG日志文件:
System.Data.SqlClient.SqlException: 将截断字符串或二进制数据。
语句已终止。
在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
Bit数据类型在SQLServer数据库中以存储1、0进行存储。
如果它是连通的,那么它连续同构于R或C(关于通常绝对值的拓扑);如果它是完全不连通的,那么它就连续同构于p进数域Qp的一个有限扩域,或者某个有限域K上的形式幂级数域K((x))的有限扩域。
1.若使用SQL语句在查询分析器中进行修改,需要传入1、0。在SQL语句中也只能用0或者1,比如"wheresex=1"不能用"wheresex=TURE"。
2.若使用企业管理器直接在表中进行修改,需要使用True、False。使用SqlDataReader读出的Bit类型数据返回值为bool类型,若将返回结果关联到GridView中,那么此列下呈现的是复选框,复选框的Checked属性绑定Bit类型字段的返回值。
扩展资料:
har与varchar的比较:
1、数据存储开销:每个varchar列需要额外的两个字节,用于反映存储的数据的长度。每个可为NULL的char列,需要一些字节(空位图)来反应数据的为空性。无论实际数据的长度是多少,char按照定义的长度分配存储空间。
2、NULL值:char列的NULL值占用存储空间,varcahr列的NULL值不占用存储空间。插入同样数量的NULL值,varchar列的插入效率明显高出char列。
最简单的方法, 把你数据库的值,都改为varchar(50) . 试试就知道是哪个超过了.