首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

NTest类型的字段通过存储过程只能插入16个字符,

2012-01-31 
NTest类型的字段通过存储过程只能插入16个字符,请指教。这是传值的内容:SqlParameter[]part{data.MakeInPa

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查询分析器中,利用存储过程中的语句进行插入操作也没有问题,可是通过程序执行的就是不行

那只能说明是程序的问题,检查一下程序吧,看看在插入之前的字符串是否正常

热点排行