近期在做淘宝客的项目,大家都知道,淘宝的商品详细描述字符长度很大,所以就导致了今天出现了一个问题
VS的报错是这样子的 ” 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确“ 还说某个@desricption 过长之类的话
直觉告诉我,某个字段过长溢出了
第一时间 :看看字段的数据类型 ,该字段类型为text,也就是无限制的长度,所以,数据库是没有问题的
第二 时间 :看看三层,代码生成器自动生成的代码如下这段
- db.AddInParameter(dbCommand, "@Description", DbType.AnsiString, model.Description);
db.AddInParameter(dbCommand, "@Description", DbType.AnsiString, model.Description);
那这个DbType.AnsiString究竟是什么类型呢?光标点中它,按F1,打开MSDN在线帮助,问题就出现在这里,DbType.AnsiString 限制字符长度为1~8000个字符,而淘宝商品的详细介绍远远比这多!所以,我使用了另外一个参数类型
- db.AddInParameter(dbCommand, "@Description", DbType.String, model.Description);
db.AddInParameter(dbCommand, "@Description", DbType.String, model.Description);
保存编译,测试通过!
MSDN在线文档: DbType 枚举
原创:http://blog.csdn.net/wayne20018891/article/details/7399974