表结构:A
id bigint IDENTITY(1,1) NOT NULL,
name varchar(100) NULL,
string1 varchar(50) NULL,
string2 varchar(100) NULL,
string3 varchar(100) NULL,
type int NULL,
create datetime NULL,
update datetime NULL,
现在通过WCF接口对表A新增数据,insert语句写在存储过程里:
insert into A(
[name],
[create] ,[update]
)values(
@name,
getdate(),getdate()
)
SELECT @@IDENTITY as ID
然后在数据库执行存储过程和insert语句的时候都成功,
通过WCF端新增的时候报错:
String or binary data would be truncated. The statement has been terminated
WCF提交的name字段是string类型,值是 "010b6306660"
odb.AddInParameter(P_GetDataSet, "@name", DbType.String, name);
请问是哪边出了问题,要怎么改 ???
那个报错就是说表字段创建的太短,插入的数据太长
name字段的长度太小了,放大点
可能string类型估计跟varchar类型不兼容,需要你转换一下
数据库出错原因:
表字段创建的太短,插入的数据太长导致的错误。
字符串类型的数据定义的长度不够.
字符串类型的数据定义的长度不够.
这里odb.AddInParameter(P_GetDataSet, "@name", DbType.String, name,指定长度参数);