NTest类型的字段通过存储过程只能插入16个字符,请指教。
这是传值的内容: 
 SqlParameter[]   part={ 
 									data.MakeInParam( "@Title ",SqlDbType.NVarChar,50,Title.Trim()), 
 									data.MakeInParam( "@ContentList ",SqlDbType.NText,16,ContentList), 
 									data.MakeInParam( "@DocumentType ",SqlDbType.Int,20,   DocumentType), 
 									data.MakeInParam( "@CreateName ",SqlDbType.NVarChar,20,CreateName.Trim()), 
 									data.MakeInParam( "@CreateTime ",SqlDbType.DateTime,30,CreateTime)				                                     
 								};   
 下面是存储过程中的内   容: 
 CREATE   proc   Sp_work_Addwork 
          @Title   NVarchar(50), 
          @ContentList   NText, 
          @DocumentType   Int, 
          @CreateName   NVarChar(20), 
          @CreateTime   DateTime      
 AS            
       insert   into   UDS_WorkPlan(Title,ContentList,DocumentType,CreateName,CreateTime)    
       values(@Title,@ContentList,@DocumentType,@CreateName,@CreateTime) 
 GO   
 请朋友们批点一下吧,上面传的值如果在SQL查询分析器中,利用存储过程中的语句进行插入操作也没有问题,可是通过程序执行的就是不行。这个问题已经困扰我好长时间了,谢谢。
------解决方案--------------------data.MakeInParam( "@ContentList ",SqlDbType.NText,16,ContentList),   
 這句代碼修改下   
 16改為大些的長度   
------解决方案--------------------感覺是傳入參數的時候給截斷了的。
------解决方案--------------------exec sp_tableoption @tablenamepattern = 'table ' 
 ,@optionname= 'text in row ' 
 ,@optionvalue= 'value ' 
 value 为0或off时关闭text in row 数据行只存储指向数据存放位置的指针,当vlue为24-7000时,开启text in row ,符合长度的数据直接被存在数据行里,此时查看数据列的值:)
------解决方案--------------------上面传的值如果在SQL查询分析器中,利用存储过程中的语句进行插入操作也没有问题,可是通过程序执行的就是不行   
 那只能说明是程序的问题,检查一下程序吧,看看在插入之前的字符串是否正常