页面载入中......
首页 联系我 返回顶部

个人愚见:

在很确定填充该字段的值的长度时,用定长,否则用变长,而且要略长于心理承受值。

如邮编就是定长为6位。

今天就在这个问题上查了半天。

服务器上输出的日志提示:

email:tuhailiang0123@yahoo.com.cn
System.Data.SqlClient.SqlException: 将截断字符串或二进制数据。
语句已终止。

前面的email是为了调试输出的,看提示很明白:某字段的长度不够用来存储相关的数据。

因该操作涉及到二个表,在表A中写入email,该字段类型是varchar(50),存储上面的email是绝没问题。

那问题出在何处?一定是第二个表(B表)了。

B表中需要记录email和用户昵称,字段类型分别为:nchar(50)/nchar(20),

以前的逻辑是用户的昵称是不能超过20个字符,即用nchar(20)是可以存储了,但后来逻辑改了,

用户可以跳过输昵称的选项,当跳过该项时,用户昵称默认就是用户的email了,这样一来,nchar(20)就无法存储上述的email地址,

故抛出异常。

该问题让我查了近1个小时!-_____-

 

Write a comment:



(将显示你的Gravatar图标)  



[b][/b] - [i][/i] - [u][/u]- [quote][/quote]

:-/ ^_^ :d :o :kiss: :) :p :se: [yeah] :( :love: :han: :up: :cry: :zzz: o_o

暂时停止交换链接.

评论提交有问题?