当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net中执行存储数据操作时数据被自动截取的一种情况

ASP.NET
ASP.NET应用程序设计的10大技巧
asp.net开发与web标准的冲突问题
总结:ADO.NET中容易混淆的概念
ASP.NET数据库编程入门
ASP.Net网络数据库:连接到数据库
ASP.Net之C#中的异常处理
在C++中使用Lambda函数提高代码性能
从零开始学习jQuery (一) 开天辟地入门篇
.Net中的 XmlReader 与 XmlWriter 解析
ASP.NET安全问题--创建安全的Web应用程序
从零开始学习jQuery (二) 万能的选择器
ASP.NET开发必须养成的编程习惯
ASP.NET应用XML技术实现Web报表打印
ASP.NET实现静态的TreeView控件导航
数据结构与算法:C#语言描述 目录
ASP.NET创建XML Web服务全接触
使.NET命名空间符合标准
ASP.Net获得新浪天气预报几种方式总结
.Net技术开发中两个“属性”引起的歧异
.Net课堂:ASP.NET常用的优化性能方法

ASP.NET 中的 asp.net中执行存储数据操作时数据被自动截取的一种情况


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 94 ::
收藏到网摘: n/a

今天在做东西的时候,发现一个很奇怪的问题,数据库(SqlServer)中的字段设置的类型为ntext,但是保存的数据总是很短,开始以为在程序的某段设置了长度限制,在设置了断点跟踪调试发现穿递的数据很正常,但是在执行了存储操作以后保存的内容总是很短,数了数保存的字符个数为16个,数据库中设置的该字段类型ntext的长度也为16,于是想是不是数据库的bug,就在查询分析器里写insert语句进行测试,结果发现保存的内容很正常,这样问题肯定在程序当中,最后检查到在构造SqlCommand命令对象的参数对象SqlParameter时指定的参数类型为ntext并且指定了其长度为16,写法如下

SqlParameter[] parms = new SqlParameter[] {
new SqlParameter(TEMPLATEID, SqlDbType.Int),
new SqlParameter("@Content", SqlDbType.NText,16)
};

把长度的限制去掉,再一测试,一切OK,呵呵,看来好多东西的概念不是很清楚是很容易造成麻烦问题的,希望这个教训能给我以后也遇到类似问题的朋友一点提示。