WEB开发网
开发学院WEB开发ASP.NET asp.net中执行存储数据操作时数据被自动截取的一种... 阅读

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

 2005-04-03 16:59:39 来源:WEB开发网   
核心提示:今天在做东西的时候,发现一个很奇怪的问题,asp.net中执行存储数据操作时数据被自动截取的一种情况,数据库(SqlServer)中的字段设置的类型为ntext,但是保存的数据总是很短,呵呵,看来好多东西的概念不是很清楚是很容易造成麻烦问题的,开始以为在程序的某段设置了长度限制,在设置了断点跟踪调试发现穿递的数据很正常

今天在做东西的时候,发现一个很奇怪的问题,数据库(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,呵呵,看来好多东西的概念不是很清楚是很容易造成麻烦问题的,希望这个教训能给我以后也遇到类似问题的朋友一点提示。

Tags:asp net 执行

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接